0

我有一个矩阵,我想使用循环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].

我怎样才能得到我想要的输出?

4

3 回答 3

2

使用 for 循环将是:

for n=1:size(A,1)
    x(n,:)=2*A(n,:);
end

但是没有 for 循环更容易获得相同的结果:

x=2*A;
于 2013-01-14T23:24:25.660 回答
0

认为每次进入 for 循环时,您的答案都会被覆盖。您也许可以执行以下操作:

 for i=1:3
     x([i],:) = A([i],:)*2;
 end  
于 2013-01-14T23:29:24.233 回答
-1

在 MAtlab 中,for 循环非常低效。我建议您在使用 matlab 时学会解决它。对于像这样的小事情,您可能看不到任何有害影响,但对于任何大规模的事情,它是不可以的。

无论如何,对于您的问题,您可以这样做x = A*2。那应该给你你的解决方案。

于 2013-01-14T23:25:54.237 回答