How I can to rename a variable in loop for?

7 vues (au cours des 30 derniers jours)
Paula
Paula le 12 Août 2014
Modifié(e) : Ahmet Cecen le 12 Août 2014
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 commentaires
Andy L
Andy L le 12 Août 2014
Which variable are you trying to change? And what do you want it to be?
Adam
Adam le 12 Août 2014
You can't rename variables programatically as far as I'm aware.

Connectez-vous pour commenter.

Réponses (2)

Matt J
Matt J le 12 Août 2014
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 le 12 Août 2014
Modifié(e) : Ahmet Cecen le 12 Août 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

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by