Is it possible to link an str answer with an existing variable?

1 Ansicht (letzte 30 Tage)
I have 26 variables (one for each letter) which each contain a different matrix. After this I have a for loop that gives an output of a single letter. I want to link the variables and for loop in some way, so that if the loop gives off the letter 'a' it will output the matrix linked to the variable a instead of just the letter. Is this possible? And if it is how would it be accomplished?

Akzeptierte Antwort

Image Analyst
Image Analyst am 13 Nov. 2017
Use a switch statement or a multiple if statement, e.g.
switch letter
case 'a'
theMatrix = a;
case 'b'
theMatrix = b;
etc.
Now theMatrix will be one of those 26 other matrices according to what letter is in the 'letter' variable.

Weitere Antworten (1)

Steven Lord
Steven Lord am 13 Nov. 2017
Use a struct array and dynamic field names or getfield.
S = struct('a', [1 2 3], 'b', [4 5 6], 'c', [7 8 9]);
f = 'b';
x = S.(f) % will contain [4 5 6]
y = getfield(S, f) % will also contain [4 5 6]

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by