2016-06-11 727 views
0

我有一个for循环,但每次迭代都会覆盖变量,而我只剩下最后的数据。如何保存for循环的每次迭代的值?

如何保存for循环的每次迭代中的其他值?


这里是我试过的代码:

p = [1:1:20]'; 
for x = 0.1:0.1:1 
    q = x.*p 
end 

这是我得到的结果是:

q = 
    1 
    2 
    3 
    4 
    5 
    6 
    7 
    8 
    9 
    10 
    11 
    12 
    13 
    14 
    15 
    16 
    17 
    18 
    19 
    20 

回答

1

您可以q二维矩阵或细胞。

二维矩阵:

q=zeros(numel(p),10); %better to pre-allocate if you know the dimensions beforehand. 
count=0; 

for x=.1:.1:1 
    count=count+1; 
    q(:,count)=x.*p; 
end 

细胞:

q=cell(10); %better to pre-allocate if you know the dimensions beforehand. 
count=0; 

for x=.1:.1:1 
    count=count+1; 
    q{count}=x.*p; 
end 
+0

乘以每个x索引与p' @ AbdulAsad请点击接受答案在左边检查它,这样它就可以得到未答复的列表。 –

1

下面是一个替代的解决方案使用bsxfun()它仅在一个线

p = [1:1:20]'; 
x = 0.1:0.1:1; 
q = bsxfun(@times,x,p)