2012-10-17 65 views
2

在for循環中,您只能保留for循環的最後結果。每次我從for循環結束時,我都想保存數據。我不能忍受的索引中的循環,因爲不是所有的變量都滿足if語句:我的代碼是:如何將if語句中的數據存儲在for循環中

c=[1 3 2 3 3];p=[0 0 1 2 1];level2=[1 3]; 
for j=1:length(level2) 
    for i=1:length(p) 
     a=[p(i),c(i)]'; 
     if a(1,:)==level2(j) 
      level3=a(2) 
     else 
     end 
    end 
end 

那麼,怎樣才能讓我爲level3從所有結果for循環的載體?請注意,p,clevel2應該是動態值,但在這裏它們是靜態的,以使示例更容易。

回答

0

你可以嘗試以下

c=[1 3 2 3 3];p=[0 0 1 2 1];level2=[1 3]; 
level3=[]; 
for j=1:length(level2) 
    for i=1:length(p) 
     a=[p(i),c(i)]'; 
     if a(1,:)==level2(j) 
      level3=[level3, a(2)]; 
     else 
     end 
    end 
end 

例如,你將追加迭代的結果爲電流矢量的結束。

+0

聽起來不錯!謝謝:) – Gloria

+0

非常好的工作.. – Gloria