是否有一个内置函数以八度为单位将m X n
元素的每一列与一个大小为m
的列向量相乘,这比使用循环更有效?
答案 0 :(得分:36)
您可以根据需要将矢量复制多次,然后将其转换为m x n
矩阵,然后使用内置的逐元素乘法运算符.*
:
>> A = [1 2; 3 4; 5 6];
>> B = [1; 2; 3];
>> A .* repmat(B, 1, columns(A))
ans =
1 2
6 8
15 18
答案 1 :(得分:3)
我还没有尝试过Anna Lear的回答,但正如nobar在回答中所评论的那样,Octave现在正在做广播。所以你只需做A. * B.您将收到一条警告,表示正在应用自动产品广播
>> A.*B
warning: product: automatic broadcasting operation applied
ans =
1 2
6 8
15 18