我有一个矩阵A
,我希望使用for
循环将每一行乘以2。
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]
。
如何获得所需的输出?
答案 0 :(得分:2)
使用for循环:
for n=1:size(A,1)
x(n,:)=2*A(n,:);
end
但如果没有for循环,那么获得相同结果要容易得多:
x=2*A;
答案 1 :(得分:0)
认为每次进入for循环时你的答案都会被覆盖。你可能会做这样的事情:
for i=1:3
x([i],:) = A([i],:)*2;
end
答案 2 :(得分:-1)
For循环在MAtlab中非常低效。我建议你学习使用matlab时解决它。对于像这样小的东西,你可能看不到任何有害的影响,但对于任何大规模的东西,它都是没有。
无论如何,对于您的问题,您可以x = A*2
。这应该会给你解决方案。