How I can to rename a variable in loop for?

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 日

0 投票

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 日

0 投票

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

カテゴリ

ヘルプ センター および File ExchangeLoops and Conditional Statements についてさらに検索

質問済み:

2014 年 8 月 12 日

編集済み:

2014 年 8 月 12 日

Community Treasure Hunt

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

Start Hunting!

Translated by