*と.*では異なる。
*は行列として積をとる。
[1 2; 3 4; 5 6] * [2 ; 2] = [ 1*2 + 2*2 ; 3*2 + 4*2 ; 5*2 + 6*2] = [6; 14 ; 22]
octave:13> x
x =
1 2
3 4
5 6
octave:14> y
y =
2
2
octave:15> x * y
ans =
6
14
22
.*は要素ごと。
[1 2; 3 4; 5 6] .* [ 0 0 ; 1 1 ; 2 2 ] = [ 0 0 ; 3 4; 10 12]
octave:25> x
x =
1 2
3 4
5 6
octave:26> y
y =
0 0
1 1
2 2
octave:27> x .* y
ans =
0 0
3 4
10 12
おまけ
スカラとの積はどちらを使っても同じで、要素ごとの積になる。
octave:30> x
x =
1 2
3 4
5 6
octave:31> y
y = 2
octave:32> x * y
ans =
2 4
6 8
10 12
octave:33> x .* y
ans =
2 4
6 8
10 12
行列の積は順番が大切。
左の列数と右の行数が等しくなければならない