How do I convert a field name into a variable name in a script?

I've loaded a matfile structure with unknown fields and want to write a script that processes the data in the fields.
>> S = load('matfile.mat');
>> fields = fieldnames(S)
fields =
1×1 cell array
{'InterestingStuff'}
InterestingStuff is an array of doubles. To access it not knowing the field name,
fields{1}(1,1)
for instance doesn't work, neither does
string(fields{1})(1,1)
What can I use in a script?

1 件のコメント

Stephen23
Stephen23 2023 年 11 月 22 日
編集済み: Stephen23 2023 年 11 月 22 日
So you are using a structure but don't know how to define the fieldname dynamically... a good place to start is to simply open the STRUCT documentation:
and then scroll to the bottom where you will find lists of related functions and articles, like this one:

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

 採用された回答

Walter Roberson
Walter Roberson 2023 年 11 月 22 日

1 投票

S.(fields{1})
That is, structure (or object) name, then "." then ( then an expression that evaluates to a character vector or string scalar, then )

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeStructures についてさらに検索

製品

リリース

R2019b

質問済み:

2023 年 11 月 22 日

編集済み:

2023 年 11 月 22 日

Community Treasure Hunt

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

Start Hunting!

Translated by