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 个评论

Which variable are you trying to change? And what do you want it to be?
You can't rename variables programatically as far as I'm aware.

请先登录,再进行评论。

回答(2 个)

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
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 Exchange 中查找有关 Loops and Conditional Statements 的更多信息

提问:

2014-8-12

Community Treasure Hunt

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

Start Hunting!

Translated by