Clear Filters
Clear Filters

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

14 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

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!