我有这样一个矩阵如何将每行与matlab中另一个矩阵元素的每行相乘?
m1 = [ 1 2 3; 4 5 6; 1 2 3]
m2 = [ 2 2 2];
,我想乘M1的每一行与M2的elementwise。
所以结果是
result = [2 4 6; 8 10 12; 2 4 6]
我会怎么做呢?
我有这样一个矩阵如何将每行与matlab中另一个矩阵元素的每行相乘?
m1 = [ 1 2 3; 4 5 6; 1 2 3]
m2 = [ 2 2 2];
,我想乘M1的每一行与M2的elementwise。
所以结果是
result = [2 4 6; 8 10 12; 2 4 6]
我会怎么做呢?
bsxfun(@times,m1,m2)
ans =
2 4 6
8 10 12
2 4 6
你也可以使用
result = diag(m2)*m1;
+1:这是很好的,但比'慢bsxfun'。 –
我一直以为M1 * M2仅在八度的伎俩 – toxicate20
@ toxicate20因为它已经实现了自动广播 – carandraug