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 Commenti

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.

Accedi per commentare.

Risposte (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
Ahmet Cecen
Ahmet Cecen il 12 Ago 2014
Modificato: Ahmet Cecen il 12 Ago 2014
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

Categorie

Scopri di più su Loops and Conditional Statements in Centro assistenza e File Exchange

Richiesto:

il 12 Ago 2014

Modificato:

il 12 Ago 2014

Community Treasure Hunt

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

Start Hunting!

Translated by