For Loop with strings

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

"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.
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

0 votes

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.

Asked:

on 27 Jun 2017

Answered:

on 17 Jul 2017

Community Treasure Hunt

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

Start Hunting!