indexing a variable in matlab

Hi, How could i parametrize a data set in matlab. for exemple:
MeasNr=1
Meas_(MeasNr) to get Meas_1?
thank you

1 comentario

the cyclist
the cyclist el 18 de Sept. de 2014
Please remember that everything we know about your particular problem comes from what you write in your question. At least for me, there is not enough explanation here for me to understand what you want to do.

Iniciar sesión para comentar.

 Respuesta aceptada

Iain
Iain el 18 de Sept. de 2014

2 votos

The normal right answer is to just use arrays. This limits you to using normal indexing techniques (logical & positive integer)
MeasNr = 1;
Meas_(MeasNr) = 5;
The "other" right answer is to define a class that stores both index values & result values. This is more work, but allows you to have noninteger indexing
The wrong answer, is to dynamically change variable names. - This should only be used in dire circumstances:
eval(['Meas_' num2str(MeasNr) ' = 5;'])

1 comentario

Guillaume
Guillaume el 18 de Sept. de 2014
Actually, the 'other' right answer is not particularly more work, it already exists as
containers.Map

Iniciar sesión para comentar.

Más respuestas (1)

Michael Haderlein
Michael Haderlein el 18 de Sept. de 2014

0 votos

I read this question as if you want to get variable names such as Meas_1, Meas_2 etc. That's not how you should work in Matlab. More information e.g. http://matlab.wikia.com/wiki/FAQ#How_can_I_create_variables_A1.2C_A2.2C....2CA10_in_a_loop.3F

Categorías

Etiquetas

Preguntada:

el 18 de Sept. de 2014

Comentada:

el 18 de Sept. de 2014

Community Treasure Hunt

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

Start Hunting!

Translated by