2013-07-09 27 views
0

我想創建一組不同的變量,形式爲e_1,e_2,e_3 ...變量的數量取決於值如下所示k我想創建一個循環,在每次迭代後創建一個不同的變量名稱

for i = 1:k 

    "create variable" = e_"i"; 

end 

然後我會調用這些變量;因此,我需要另一個能夠將正確的值賦給每個之前創建的變量的循環,或者將某些變量從變量中拉出來。

+0

'eval'可以做到這一點。但是單元陣列可能更容易。 – aschepler

+1

你爲什麼要這樣做?使用數組將會完成相同的工作,對吧? http://www.ele.uri.edu/Courses/ele541/tutorials/matlab.html –

+1

谷歌它:http://matlab.wikia.com/wiki/FAQ#How_can_I_create_variables_A1.2C_A2.2C....2CA10_in_a_loop。 3F – user2482876

回答

1

一個選擇是做這樣的事情:

kk = 10; 
for ii=1:kk 
    eval(['e_' num2str(ii) '=[];']) 
end 
+0

謝謝大家,構建一個單元陣列解決了所有問題 – user2565552

0

我只是修復了你。只是試圖做同樣的事情。需要能夠創建一個數量無限的變量數組。這是我想出來的。那麼,我一次添加2個變量,所以它可能會與您的版本有所不同。

String[] parts; 
String x = ""; 
String var = ""; 
int i = 0; 
//to add variables 
if(x.contains("-"){ 
x+="-"+var; 
} 
else{ 
x+=""+var; 
} 

然後爲了讓他們,你只是使用。

if(x.contains("-")){ 
parts = x.split("-"); 
while(i<parts.length){ 
    var=parts[i]; 
    i++; 
} 
} 
else if (x!=""){ 
var = x; 
} 

更改變量是一個完整的故事。我會讓你的天才頭腦明白這一點。我不需要那部分。

*提示,您將不得不循環並將整個String與新變量放在一起。希望這有助於。感覺像這是一種看待它的新方式。

相關問題