2017-05-24 11 views
0

2つの5000x10行列があり、2つの行列の対応する行のベクトル積をエントリとして持つ長さ5000のベクトルを取得したいと考えています。私。最初のエントリは、matrix1のrow1 * matrix2のrow1が転置されるなどである必要があります。Matlab行列の行列の乗算 - ベクトル化またはbsxfun

私はforループでこれを実装することができます。

result = zeros(5000) 
for i = 1:5000 
    result(i) = matrix1(i,:)*matrix2(i,:)' 
end 

が、このベクトル化やbsxfunとを行う方法はありますか?

ありがとうございました!

答えて

1

あなただけの要素毎の乗算を使用して行を合計することができます

result = sum(matrix1.*matrix2, 2); 
+0

、私は必要なもののおかげだと! – Arjay7891

+0

@ Arjay7891あなたの問題を完全に解決した場合、回答を受け入れたものとみなしてください –