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 Kommentare

Andy L
Andy L am 12 Aug. 2014
Which variable are you trying to change? And what do you want it to be?
Adam
Adam am 12 Aug. 2014
You can't rename variables programatically as far as I'm aware.

Melden Sie sich an, um zu kommentieren.

Antworten (2)

Matt J
Matt J am 12 Aug. 2014

0 Stimmen

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 am 12 Aug. 2014
Bearbeitet: Ahmet Cecen am 12 Aug. 2014

0 Stimmen

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

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 12 Aug. 2014

Bearbeitet:

am 12 Aug. 2014

Community Treasure Hunt

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

Start Hunting!

Translated by