Referring to variables with concatenated strings

29 views (last 30 days)
I want to run a loop that will apply the same functions to many sets of data. For example the data names are named by putting the sensor type first, then what is been recorded, then what recording it is, for example
accel_cycle_1 gyro_run_4
In each variable there is 3 columns of data. I can concatenate the sensor type, data type and the number. I then want to refer to specific columns in the variables with a function I made for each concatenated string, but matlab assigns values to the letter of the string rather than referring to variable of that name. Is it possible to do this? Thanks
  1 Comment
Stephen23
Stephen23 on 2 Apr 2015
Use indices instead of creating variable names dynamically. Read the answers to know why!

Sign in to comment.

Accepted Answer

James Tursa
James Tursa on 2 Apr 2015
Yes it is possible to do this using eval, but please do not do this! There are much better ways to organize your data using cell or struct arrays. E.g., see these links:

More Answers (2)

Stephen23
Stephen23 on 2 Apr 2015
Edited: Stephen23 on 19 Jun 2019

Matt J
Matt J on 2 Apr 2015
Edited: Matt J on 2 Apr 2015
You should not be using parts of a variable's name to index data. You should be using indices to index data. E.g., instead of
A1=5;
A2=10;
you should be doing
A(1)=5;
A(2)=10;
or other indexing types like cell array indexing.

Categories

Find more on Variables 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!