2009年8月25日火曜日

ベクトルの差

公式



C言語での実装

#include <stdio.h>

/* ---------------------------------------------
  ベクトルの和を計算する
  引数1: vec1 ベクトル1
  引数2: vec2 ベクトル2
  引数3: sum ベクトルの和
  引数4: n ベクトルの要素数
  戻り値 sumの先頭アドレス
 ---------------------------------------------*/
double *diff_vector(double *vec1,
        double *vec2, double *diff, int n)
{
    while (n--)
        diff[n] = vec1[n] - vec2[n];
    return diff;
}

/* main */
int main(void)
{
    double vec1[] = {1.0, 2.0, 3.0};
    double vec2[] = {2.0, 4.0, 1.0};
    double diff[3];
    int i, n = 3;

    /* ベクトルの差を計算 */
    diff_vector(vec1, vec2, diff, n);

    for ( i = 0; i < n; i++ ) {
        printf("diff[%d] = %.2f\n", i, diff[i]);
    }

    return 0;
}
実行例
diff[0] = -1.00
diff[1] = -2.00
diff[2] = 2.00

0 件のコメント:

コメントを投稿