How to form a structure array variable?

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!

 Respuesta aceptada

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

Más respuestas (1)

Stephen23
Stephen23 el 26 de Oct. de 2020
Editada: Stephen23 el 26 de Oct. de 2020
Simpler using indexing:
vec = {'a','b','c'};
Test{1}.(vec{Ind})

Categorías

Más información sobre Data Types en Centro de ayuda y File Exchange.

Productos

Versión

R2020b

Etiquetas

Preguntada:

el 26 de Oct. de 2020

Comentada:

el 26 de Oct. de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by