Reference struct field with an index and not it's name
10 ビュー (過去 30 日間)
古いコメントを表示
I want to randomly reference different fields of a structure without naming the field, and ideally without using an if statement.
I currently have a structure like so:
s = struct;
s.field1 = {1; 2; 3; 4; 5};
s.field2 = {6; 7; 8; 9; 10};
I'm then generating a random number and want to access one of the fields depending on what the number is. E.g. if the random number is 1, access field1, if it's a 2, access field 2. I then want to be able to take specific numbers from within that field, so that I could get:
>> a = s.(2){3, 1} % (2) is the randomly generated number in this example
>> b = s.field2{3, 1}
>> a == b
ans =
logical
1
I know I can do this with an if statement, but I want to avoid if statements if possible. Is it possible to do this in Matlab, or not?
0 件のコメント
採用された回答
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Structures についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!