How to form a structure array variable?

1 Ansicht (letzte 30 Tage)
Leon
Leon am 26 Okt. 2020
Kommentiert: Leon am 26 Okt. 2020
I have a structure array like the below
Test{1}.a = [1; 2; 3];
Test{1}.b = [7; 3; 22];
Test{1}.c = [4; 9; 22];
...
If I have a variable (Var) that can be either a, or b, or c, ...
If Ind == 1;
Var = 'a';
elseif Ind == 2
Var = 'b';
elseif Ind == 3
Var = 'c';
end
How do I specify Test{1}.Var, so that when Ind == 1, it will be Test{1}.a, and so on?
Many thanks!

Akzeptierte Antwort

Cris LaPierre
Cris LaPierre am 26 Okt. 2020
See Steven Lord's reply here. Basically, something like this:
Test{1}.a = [1; 2; 3];
Test{1}.b = [7; 3; 22];
Test{1}.c = [4; 9; 22];
Ind = 2;
if Ind == 1
Var = {'a'};
elseif Ind == 2
Var = {'b'};
elseif Ind == 3
Var = {'c'};
end
Test{1}.(Var{1})
ans = 3×1
7 3 22
  1 Kommentar
Leon
Leon am 26 Okt. 2020
Exactly what I'm looking for. Many thanks!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Stephen23
Stephen23 am 26 Okt. 2020
Bearbeitet: Stephen23 am 26 Okt. 2020

Kategorien

Mehr zu Resizing and Reshaping Matrices finden Sie in Help Center und File Exchange

Produkte


Version

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by