Matlab乘以矩阵行 - 矢量化或bsxfun

时间:2017-05-24 23:16:35

标签: matlab

我有2个5000x10矩阵,我想得到一个长度为5000的向量,其中包含两个矩阵中相应行的向量积。即第一个条目应该是矩阵2的矩阵1 *行1的第1行转置,依此类推。

我可以用for循环实现这个:

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

但有没有办法进行矢量化或使用bsxfun?

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以使用逐元素乘法并对行求和:

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