2011/08/10

配列の要素どうしの積を求める方法(その2)

以前も紹介しましたがもっと簡単にできました。
>> A=1:5
A =
1 2 3 4 5
>> B=A(:)
B =
1
2
3
4
5
>> diag(B*A)
ans =
1
4
9
16
25


通常の行列計算は (n×mの行列) * (m×pの行列) = (n×pの行列)なので
・A*Bの場合 (1×5の行列) * (5×1の行列) = (1×1の行列)
・B*Aの場合 (5×1の行列) * (1×5の行列) = (5×5の行列)
なんですね。
高校数学すっかり忘れてましたね…。

※以下参考
>> A*B
ans =
55
>> B*A
ans =
1 2 3 4 5
2 4 6 8 10
3 6 9 12 15
4 8 12 16 20
5 10 15 20 25