矩阵和向量的点积无环

时间:2018-10-09 11:21:51

标签: matlab matrix vector vectorization dot-product

假设我们有一个Mx3矩阵和一个1x3向量。如何在不使用循环的情况下计算每一列与向量的点积?

2 个答案:

答案 0 :(得分:2)

如果我正确理解了您的问题,

M = rand(8,3); V = 1:3;
P = sum( M .* V, 2 ); % or in older MATLAB versions: sum( bsxfun(@times, M, V), 2 );

如果要处理复数,则可能必须对输入之一进行共轭。

答案 1 :(得分:2)

使用Dev-iL的示例数据:

M = rand(8,3);
V = 1:3;

MV的每一行的点积就是转置V的矩阵积:

M * V'

请注意,'返回点积所需的共轭转置。


如问题中所述,

使用M来计算点积是没有意义的,因为尺寸不匹配,因此我假设您是指行(其他答案了。)