Referring to variables with concatenated strings

30 vues (au cours des 30 derniers jours)
Ross Boland
Ross Boland le 2 Avr 2015
Modifié(e) : Stephen23 le 19 Juin 2019
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 commentaire
Stephen23
Stephen23 le 2 Avr 2015
Use indices instead of creating variable names dynamically. Read the answers to know why!

Connectez-vous pour commenter.

Réponse acceptée

James Tursa
James Tursa le 2 Avr 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:

Plus de réponses (2)

Stephen23
Stephen23 le 2 Avr 2015
Modifié(e) : Stephen23 le 19 Juin 2019

Matt J
Matt J le 2 Avr 2015
Modifié(e) : Matt J le 2 Avr 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.

Catégories

En savoir plus sur Variables dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by