我有一个矩阵,我想使用循环A
将每一行乘以 2 。for
A = [1 2 3;
4 5 6;
7 8 9];
所以基本上matlab应该输出:
[2 4 6;
8 10 12;
14 16 18];
我试过:
A = [1 2 3 ; 4 5 6 ; 7 8 9];
for i=1:3
x= A([i],:)*2;
end
但x
输出为[14 16 18]
.
我怎样才能得到我想要的输出?
使用 for 循环将是:
for n=1:size(A,1)
x(n,:)=2*A(n,:);
end
但是没有 for 循环更容易获得相同的结果:
x=2*A;
认为每次进入 for 循环时,您的答案都会被覆盖。您也许可以执行以下操作:
for i=1:3
x([i],:) = A([i],:)*2;
end
在 MAtlab 中,for 循环非常低效。我建议您在使用 matlab 时学会解决它。对于像这样的小事情,您可能看不到任何有害影响,但对于任何大规模的事情,它是不可以的。
无论如何,对于您的问题,您可以这样做x = A*2
。那应该给你你的解决方案。