2009年8月29日土曜日

ベクトルの内積 (Inner product)

公式



C言語での実装

#include <stdio.h>

/* ---------------------------------------------
  ベクトルの内積を求める
  引数1: vec1 ベクトル1
  引数2: vec2 ベクトル2
  引数3: n ベクトルの要素数
  戻り値 ベクトルの内積
 ---------------------------------------------*/
double inner_product(double *vec1, double *vec2, int n) {
    int i;
    double s = 0.0;

    for ( i = 0; i < n; i++ ) {
        s += vec1[i] * vec2[i];
    }

    return s;
}

/* main */
int main(void)
{
    double a[] = {1.0, 2.0, 3.0};
    double b[] = {2.0, 3.0, 4.0};
    int n = 3;

    /* ベクトルの内積を求める */
    printf("内積: %.2f\n", inner_product(a, b, n));

    return 0;
}
実行例
内積: 20.00

1 件のコメント: