Home計算 › (15) ベクトルの内積

(15) ベクトルの内積

この記事は最終更新から 815日 が経過しています。

Octaveではベクトルの内積も簡単に求められる。
ベクトルaとベクトルbを以下のように定義する。

octave:20> a=[1 2 3]
a =
   1   2   3
octave:21> b=[2 3 4]
b =
   2   3   4

内積は「a・b」だからと「a*b」と書いてしまうとダメ。

octave:22> a*b
error: operator *: nonconformant arguments (op1 is 1x3, op2 is 1x3)

1行3列の行列の積として認識されてしまうのでエラーが出てしまう。

そこで、行列の積が成り立つように形を変えてやる。
すなわち、aが1行3列であれば、bを3行1列に転置してやれば行列の積が成り立つ。
Octaveでは行列の転置を「’」で記述する。

octave:22> b'
ans =
   2
   3
   4
octave:23> a*b'
ans =  20

a=(1,2,3) と b=(2,3,4) の内積は、1×2+2×3+3×4=20 である。

当然だが、以下のように要素の積の総和を求めても同じ。

octave:24> sum(a.*b)
ans =  20

Leave a Comment

NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>