How can I change an array name within a for loop using the value of the index?

17 vues (au cours des 30 derniers jours)
Derek Keglovits
Derek Keglovits le 29 Mar 2022
Réponse apportée : Tala le 29 Mar 2022
for i=1988:2020;
months_i=dates_i.Month;
end
I want the months_i to be read as months_1988, then months_1989, etc because I'm looking at arrays from those ~20 years and am digging into each array with multiple loops underneath. Thank you!
  1 commentaire
AndresVar
AndresVar le 29 Mar 2022
Modifié(e) : AndresVar le 29 Mar 2022
You can do it with eval but it’s not recommended. Use a cell array instead or another struct
See below
https://www.mathworks.com/matlabcentral/answers/304528-tutorial-why-variables-should-not-be-named-dynamically-eval?s_tid=srchtitle

Connectez-vous pour commenter.

Réponses (1)

Tala
Tala le 29 Mar 2022
for i= 1988:2020
month{i} =['month_',num2str(i)];
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