複数の構造体配列から​指定したfieldN​ameで一括取得する​方法を教えてください​。

66 ビュー (過去 30 日間)
Kohei Yoshino
Kohei Yoshino 2024 年 5 月 7 日
回答済み: Hernia Baby 2024 年 5 月 7 日
複数の被験者データ[A, B, C, ...](n=16)があり、それぞれの構造にはThorax, Lumber, Pelvic, Femur, Tibiaの5つのfieldName(さらにその中にも100×9のデータが格納)が存在してます。
また、被験者データ名もname_speedとevalinとsprintfを使用して一括で読み込みできるようにしています。
しかし、A.Thoraxを一括で読み込むことができないため、n=16個分の同一コードを手作業している状況です。
fieldName = 'Thorax'; %最初にfieldNameを指定すれば1文ずつ変更する必要がないため指定
for i = 1:n % n=16
evalin('base', A{i}).fieldName
この構文では「フィールド名 "Thorax" が認識されません。」というエラーが出てしまいうまく読み込めません。
functionでfieldNameを定義する方法も考えましたがこちらもうまくいきませんでした。
いい方法があればご教授お願いします。

採用された回答

Hernia Baby
Hernia Baby 2024 年 5 月 7 日

getfieldを使うのはいかがでしょうか?

こちらが同様の質問ぽいので試してみてください。

その他の回答 (0 件)

カテゴリ

Help Center および File Exchangeビッグ データの処理 についてさらに検索

製品


リリース

R2023b

Community Treasure Hunt

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

Start Hunting!