我想創建一組不同的變量,形式爲e_1
,e_2
,e_3
...變量的數量取決於值如下所示k
。我想創建一個循環,在每次迭代後創建一個不同的變量名稱
for i = 1:k
"create variable" = e_"i";
end
然後我會調用這些變量;因此,我需要另一個能夠將正確的值賦給每個之前創建的變量的循環,或者將某些變量從變量中拉出來。
我想創建一組不同的變量,形式爲e_1
,e_2
,e_3
...變量的數量取決於值如下所示k
。我想創建一個循環,在每次迭代後創建一個不同的變量名稱
for i = 1:k
"create variable" = e_"i";
end
然後我會調用這些變量;因此,我需要另一個能夠將正確的值賦給每個之前創建的變量的循環,或者將某些變量從變量中拉出來。
一個選擇是做這樣的事情:
kk = 10;
for ii=1:kk
eval(['e_' num2str(ii) '=[];'])
end
謝謝大家,構建一個單元陣列解決了所有問題 – user2565552
我只是修復了你。只是試圖做同樣的事情。需要能夠創建一個數量無限的變量數組。這是我想出來的。那麼,我一次添加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與新變量放在一起。希望這有助於。感覺像這是一種看待它的新方式。
'eval'可以做到這一點。但是單元陣列可能更容易。 – aschepler
你爲什麼要這樣做?使用數組將會完成相同的工作,對吧? http://www.ele.uri.edu/Courses/ele541/tutorials/matlab.html –
谷歌它:http://matlab.wikia.com/wiki/FAQ#How_can_I_create_variables_A1.2C_A2.2C....2CA10_in_a_loop。 3F – user2482876