MATLAB Answers


How to get data from variables that change the name?

Asked by Kelly Kyriakou on 13 Jan 2017
Latest activity Commented on by Image Analyst
on 14 Jan 2017
I have the variables day1,day2,day3....day15. I want to get the data of each variable within a loop. How I can do it?
Thank you in advance


@Kelly Kyriakou: read this carefully:
Learn to use indexing rather than make lots of separate variables. Then your life suddenly gets better :)
Thank you very much. Indeed being a beginner at matlab the idea of indexing is not well-established in my mind.

Sign in to comment.

2 Answers

Answer by John Chilleri on 13 Jan 2017

A simple solution would be:
Days = [day1 day2 day3 ... day15];
Then call Days(:,i) for the ith days data if it's a vector (assuming column vectors), or just Days(i) if it's a scalar.
Hope this helps!


Sign in to comment.

Answer by Image Analyst
on 13 Jan 2017

The "data of each variable" and the variable itself are one and the same thing. Just assign it to another variable if you want, or just start using it.
someOtherVariable = day1;
someOtherVariable2 = day2 * pi * log(42);
someOtherVariable3 = day5 * cos(day12) + day9;
result = SomeFunction(day7);
and so on. You don't need to do anything special to the variable to access it's "data". The variable and its data are the very same thing.


Actually, I have many loops to do it manually. I would prefere to use it like "day%d" where the d = 1:15.

Sign in to comment.