我有两个矩阵 A 和 B 。 A是N×L矩阵,B是L-by-N矩阵。
A = [1 2 3;
4 5 6];
B = [ 7 8;
9 10;
11 12];
我想将第一个矩阵的每一行乘以第二个矩阵的相应列。在乘法之后,我将得到一个(Nx1)向量。结果将是
C = [ 1*7 + 2*9 + 3*11,
4*8 + 5*10 + 6*12];
我可以用for循环执行乘法,但对大型矩阵来说效率不高。
ASize = size(A);
for i = 1:ASize(1),
C(i) = A(i,:) * B(:,i);
end
有更好的方法吗?
答案 0 :(得分:2)
我认为这应该可以解决问题:
C = sum(A.*B', 2);
答案 1 :(得分:0)
我认为这会更好用,也很简单
C=diag(A*B);