MATLAB Answers

How to form a structure array variable?

2 views (last 30 days)
Leon
Leon on 26 Oct 2020
Commented: Leon on 26 Oct 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!

  0 Comments

Sign in to comment.

Accepted Answer

Cris LaPierre
Cris LaPierre on 26 Oct 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 Comment

Leon
Leon on 26 Oct 2020
Exactly what I'm looking for. Many thanks!

Sign in to comment.

More Answers (1)

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by