Referring to variables with concatenated strings

28 visualizaciones (últimos 30 días)
Ross Boland
Ross Boland el 2 de Abr. de 2015
Editada: Stephen23 el 19 de Jun. de 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 comentario
Stephen23
Stephen23 el 2 de Abr. de 2015
Use indices instead of creating variable names dynamically. Read the answers to know why!

Iniciar sesión para comentar.

Respuesta aceptada

James Tursa
James Tursa el 2 de Abr. de 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:

Más respuestas (2)

Stephen23
Stephen23 el 2 de Abr. de 2015
Editada: Stephen23 el 19 de Jun. de 2019

Matt J
Matt J el 2 de Abr. de 2015
Editada: Matt J el 2 de Abr. de 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.

Categorías

Más información sobre Variables en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by