Accessing structure by its name and looping through it

1 回表示 (過去 30 日間)
Eric Christensen
Eric Christensen 2019 年 9 月 18 日
コメント済み: Stephen23 2019 年 9 月 19 日
Hi,
I'm wondering how I can access a structure by its upper level name from a cell array, and loop through it. For example:
Tests = {'Cold Run'
'Warm Run'
'Hot Run'};
for I = 1:length(Tests)
plot(Tests{I}.Time,Tests{I}.Speed);
hold on;
end
Tests{I} is wrong. If it was part of a larger structure, say "Something", then this would work:
Something.(Tests{I}).Time
But what is the proper syntax to do this without an upper structure?
  5 件のコメント
Eric Christensen
Eric Christensen 2019 年 9 月 18 日
Ah yes, I overcomplicated it by creating that cell array just to have the names to loop through. That seems to work, thanks.
Stephen23
Stephen23 2019 年 9 月 19 日

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

採用された回答

Matt J
Matt J 2019 年 9 月 19 日
Why not organize the data as a struct array?
Tests(1).Time = data1;
Tests(1).Speed = data2;
Tests(2).Time = data3;
Tests(2).Speed = data4;
Tests(3).Time = data5;
Tests(3).Speed = data6;
The indexing of the different scalar structures Tests(j) is now immediate.

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeStructures についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by