MATLAB Answers

Use a structure with fields in a loop - Outputs & indexing ??

4 ビュー (過去 30 日間)
Dimitris K
Dimitris K 2021 年 9 月 10 日
コメント済み: Dimitris K 2021 年 9 月 10 日
Hello everyone,
I am using a structure to output all my results from a function organised in different fields. My struct contains 10 fields - and as my loop has 101 steps my struct ends up being a struct array (1*101) with 10 fields.
Some of my fields are numeric arrays e.g. Sig (6*1) and i want to use the first value of each of these Sig in the 101 fields to plot them. How could i do this easily?
The way i thought is:
hist_st_cell=struct2cell(hist_state);
Sig_cell=hist_st_cell(1,1,:);
Sig_mat=cell2mat(Sig_cell);
Sig1_plot=Sig_mat(1,1,:);
Is there a better suggestion?

採用された回答

Stephen
Stephen 2021 年 9 月 10 日
Where S is your structure:
F = @(a)a.Sig(1);
V = arrayfun(F,S)
  3 件のコメント
Dimitris K
Dimitris K 2021 年 9 月 10 日
Thanks a lot for your answers !! It was very helpful!!!!

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

その他の回答 (0 件)

Community Treasure Hunt

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

Start Hunting!

Translated by