Clear Filters
Clear Filters

For Loop with strings

2 views (last 30 days)
Edoardo Briganti
Edoardo Briganti on 27 Jun 2017
Answered: Pratik Anand on 17 Jul 2017
I am dealing with n vectors which represent the values of a variable along time. Each of them is characterized by a code which can be both numerical and text. For example Y_23 and Y_FIRE. I have to make some computations for each of them, for instance: beta_23 = Y_23^2. I was thinking about indexing the variables or making a for loop with string vectors. Anybody may help me please? Thanks in advance.
  2 Comments
Stephen23
Stephen23 on 27 Jun 2017
"I was thinking about indexing the variables"
That is a good idea. You should do that.
"or making a for loop with string vectors"
That is most likely a bad idea, because accessing variables from strings is slow, buggy, hard to debug, hard to read... and is strongly discouraged:
Although indexing is likely the best option, another option would be for you to put all of your data into a structure, then you can simply access and pass any of those values by using the fieldnames.
Edoardo Briganti
Edoardo Briganti on 27 Jun 2017
Thanks for your help Stephen. I will follow your advice.
Have a nice day.

Sign in to comment.

Answers (1)

Pratik Anand
Pratik Anand on 17 Jul 2017
Adding Stephen Cobeldick 's suggestion here so that it is visible as an answer rather than a comment.
"I was thinking about indexing the variables"
That is a good idea. You should do that.
"or making a for loop with string vectors"
That is most likely a bad idea, because accessing variables from strings is slow, buggy, hard to debug, hard to read... and is strongly discouraged:
Although indexing is likely the best option, another option would be for you to put all of your data into a structure, then you can simply access and pass any of those values by using the fieldnames.

Community Treasure Hunt

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

Start Hunting!