2015-11-18 142 views
0

我有一系列數組(「A」,「B」等)。我的程序提示用戶選擇2個不同的數組,然後返回兩個數據的通用值。MATLAB保存每個循環輸出

我希望能夠多次運行此循環並保存每次迭代的輸出(ComVal)。我嘗試過使用單元格,但那一直沒有奏效;我不知道是否因爲我寫了我的代碼。

for k=0; 
prompt_a='Select an array: '; 
str_a=input(prompt_a); 
prompt_b='Select second array: '; 
str_b=input(prompt_b); 
ComVal=intersect(str_a,str_b); 
end 

現在,如果我改變k,所以我可以多次運行它,它只保存最終的迭代。

+1

正如你所寫的,你的循環只運行一次,'k = 0',在循環中根本不使用它。作爲一個好的入門書,看看MATLAB的[文檔迴路控制](http://www.mathworks.com/help/matlab/matlab_prog/loop-control-statements.html)。 – excaza

回答

3

您可以將結果保存到與保存到標準數組非常相似的單元格中。

numIterations = 5; 
comVals = cell(1,numIterations) 
for k = 1:numIterations 
    prompt_a='Select an array: '; 
    str_a=input(prompt_a); 
    prompt_b='Select second array: '; 
    str_b=input(prompt_b); 
    comVals{k} = intersect(str_a,str_b); 
end