How to form a structure array variable?

1 回表示 (過去 30 日間)
Leon
Leon 2020 年 10 月 26 日
コメント済み: Leon 2020 年 10 月 26 日
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!

採用された回答

Cris LaPierre
Cris LaPierre 2020 年 10 月 26 日
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 件のコメント
Leon
Leon 2020 年 10 月 26 日
Exactly what I'm looking for. Many thanks!

サインインしてコメントする。

その他の回答 (1 件)

Stephen23
Stephen23 2020 年 10 月 26 日
編集済み: Stephen23 2020 年 10 月 26 日
  1 件のコメント
Leon
Leon 2020 年 10 月 26 日
Thanks for sharing!

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeResizing and Reshaping Matrices についてさらに検索

製品


リリース

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by