假设我有一个矩阵:
A = [ 1 2 3 ; 4 5 6 ; 7 8 9 ; 10 11 12];是否有一种方法可以使:
第1行乘1
第2行乘2
第3行乘3
诸若此类?
我可以用for循环来实现这一点,但是如果对于他们希望我们使用矩阵的任务,则可以这样做。在实际的赋值中,A中填充了随机数,但每一行都被连续乘以。
谢谢,任何帮助都是非常感谢的
发布于 2016-10-19 01:38:29
你只需要把对角矩阵乘以A,就可以了。
A = [ 1 2 3 ; 4 5 6 ; 7 8 9 ; 10 11 12];
disp(diag([1 2 3 4]) * A);
1 2 3
8 10 12
21 24 27
40 44 48发布于 2016-10-19 02:44:57
您可以使用bsxfun轻松、快速地完成这一任务。
out = bsxfun(@times, [1 2 3 4].', A)在新版本的MATLAB (R2016b和更新版)中,您实际上可以用简单的*替换bsxfun。
out = [1 2 3 4].' * A;https://stackoverflow.com/questions/40120585
复制相似问题