How I can to rename a variable in loop for?

1 回表示 (過去 30 日間)
Paula
Paula 2014 年 8 月 12 日
編集済み: Ahmet Cecen 2014 年 8 月 12 日
t= length(tiempo);
o= 1;
mes{'enero','febrero','marzo','abril','mayo','junio','julio','agosto','septiembre','octubre','noviembre','diciembre'};
for j = 1:12:t;
J = moist_end(:,:,1,j);
strcat('moist_',mes(o))(:,:,:,o) = J
o=o+1;
end
  2 件のコメント
Andy L
Andy L 2014 年 8 月 12 日
Which variable are you trying to change? And what do you want it to be?
Adam
Adam 2014 年 8 月 12 日
You can't rename variables programatically as far as I'm aware.

サインインしてコメントする。

回答 (2 件)

Matt J
Matt J 2014 年 8 月 12 日
Not sure what you're trying to do, but if you want to split J into differently named partitions, the appropriate way would be to use a structure,
for j = 1:12:t;
J = moist_end(:,:,1,j);
moistStruct.(mes{o}) = J
o=o+1;
end

Ahmet Cecen
Ahmet Cecen 2014 年 8 月 12 日
編集済み: Ahmet Cecen 2014 年 8 月 12 日
There is an ugly way to do this using the eval function. Something like:
for i=1:12:t
eval(strcat('moist_',mes(o),'(:,:,:,',num2str(o),')','=J'));
end

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by