内積を求めるプログラム 2 つのベクトルの内積は高校数学当たり範囲 プログラムで書くとすごく簡単に求まるんだなーって感慨深い
/* header files */ #include <stdio.h> #include <stdlib.h> /* functions */ double InnerProduct(double *, double *, int); /* main */ int main(void) { double inner_product; double vec1[] = {1.0, 2.0, 3.0}; double vec2[] = {2.0, 1.0, 3.0}; /* 内積を求める */ inner_product = InnerProduct(vec1, vec2, 3); printf("内積: %.2f\n", inner_product); return EXIT_SUCCESS; } double InnerProduct(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; }