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

16 views (last 30 days)
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 Comment
AndresVar
AndresVar on 29 Mar 2022
Edited: AndresVar on 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

Sign in to comment.

Answers (1)

Tala
Tala on 29 Mar 2022
for i= 1988:2020
month{i} =['month_',num2str(i)];
end

Community Treasure Hunt

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

Start Hunting!