indexing a variable in matlab

8 views (last 30 days)
Rica
Rica on 18 Sep 2014
Commented: Guillaume on 18 Sep 2014
Hi, How could i parametrize a data set in matlab. for exemple:
MeasNr=1
Meas_(MeasNr) to get Meas_1?
thank you
  1 Comment
the cyclist
the cyclist on 18 Sep 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.

Sign in to comment.

Accepted Answer

Iain
Iain on 18 Sep 2014
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 Comment
Guillaume
Guillaume on 18 Sep 2014
Actually, the 'other' right answer is not particularly more work, it already exists as
containers.Map

Sign in to comment.

More Answers (1)

Michael Haderlein
Michael Haderlein on 18 Sep 2014
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

Tags

Community Treasure Hunt

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

Start Hunting!