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

1 visualizzazione (ultimi 30 giorni)
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?

Risposta accettata

Image Analyst
Image Analyst il 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.

Più risposte (1)

Steven Lord
Steven Lord il 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]

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by