【发布时间】:2013-09-12 07:58:25
【问题描述】:
我有一个列向量 Nx1 和一个矩阵 Nx3,我想将 Nx1 的第一个元素与 Nx3 矩阵的第一行的所有元素相乘,并将第二个元素与第二行的所有元素相乘Nx3 等等。 使用 for 循环可以做到这一点。 有没有其他办法呢。
谢谢
【问题讨论】:
我有一个列向量 Nx1 和一个矩阵 Nx3,我想将 Nx1 的第一个元素与 Nx3 矩阵的第一行的所有元素相乘,并将第二个元素与第二行的所有元素相乘Nx3 等等。 使用 for 循环可以做到这一点。 有没有其他办法呢。
谢谢
【问题讨论】:
假设A 是n-by-3 并且x 是n-by-1 向量。
bsxfun 非常有趣:
>> myLongExpectedResult = bsxfun( @times, A, x );
【讨论】:
我认为更快的解决方案如下:
C = A.*[B,B,B];
其中A 是 Nx3 矩阵,B 是 Nx1 矩阵
【讨论】: