我希望将矩阵A的每一行乘以相同的向量v。例如:
A =[1.0 3.0; 1.0 1.0]
v = [1.0, 2.0]
我想要输出。
[1.0 6.0; 1.0 2.0]
到目前为止,我正在进行以下工作:
(v.*A')'
但是我怀疑这种方法在计算效率上并不高,因为它需要将矩阵转置两次。
需要注意的是,这个问题在Matlab中已经有了答案(https://uk.mathworks.com/matlabcentral/answers/243307-vector-matrix-multiplication-row-wise)。
A.*v'
对我来说可行(Julia v0.6.3) - Dan GetzA
的每一列乘以不同的标量,以符合v
。感谢您提供代码和示例,使问题更加清晰明了。 - Dan GetzA.*v'
在我的机器上(相同的Julia版本)比(v.*A')'
略慢,这是出乎意料的。 - carstenbauermapslices(row->v.*row, A, 2)
,但是这个方法比已经提到的方法更慢。 - carstenbauer