MATLABで内積
列ベクトルaと列ベクトルbがあり、それらの次元数が同じだったとする。
このとき、定義をなぞるようにfor文を使って内積を計算すると、こんな感じになる。
a = [1; -2; 3]; b = [6; 5; -4]; N = 3; %the number of dimension p = 0; for n = 1 : N p = p + a(n) * b(n); end % p = -16
でもこれは回りくどい。
シンプルに計算するなら、こうである。
a = [1; -2; 3]; b = [6; 5; -4]; p = (a') * b; % p = -16
なお、アポストロフィは共役転置である。