在MATLAB中,如果你需要对矩阵的不同行分别乘以不同的数,可以使用以下方法。假设你有如下矩阵A:
A = [123; 456; 789];
我们需要将第一行乘以1,第二行乘以2,第三行乘以3。为此,可以创建一个列向量B:
B = [1; 2; 3];
接下来,我们根据A的列数将B复制成和A大小相同的矩阵,即[1 1 1; 2 2 2; 3 3 3]。然后,使用.*运算符在对应位置将A与这个扩展后的B相乘,从而得到结果矩阵C:
C = A .* repmat(B, [1, size(A, 2)]);
最终结果如下:
A = 123 456 789
B = 1 2 3
C = 123 810 12 2124 27
除了上述方法,还有一种更简洁的方式。可以使用diag函数和矩阵乘法来实现相同的效果:
C = diag(B) * A;
温馨提示:答案为网友推荐,仅供参考