Hi, i have struct data: data_1, data_2.....data_100 iwant to make the following plot in a loop:
for k=1:100
plot(data_k.a,data_k.b)
end
how could i do this in matlab?

댓글 수: 6

Adam
Adam 2017년 7월 20일
You mean you have 100 individually named structs or you have 1 struct with those 100 fields? If the latter than your plot instruction obviously needs to include the name of the struct itself. If the former why on earth would you do that rather than just create an array of 100 structs?!
Rica
Rica 2017년 7월 20일
편집: Rica 2017년 7월 20일
I solve it in this manner as you mentioned:
for k=1:100
L=struct2cell(load(['data_' num2str(k) '.mat']))
aa(:,k)=L{1}.a;
bb(:,k)=L{1}.b;
end
thank you
Rica
Rica 2017년 7월 20일
Thanks Stephen! Yes it is requirde and it does work for my case. I have diffrent struct with diffrent names. So i tried to collect the interessting data in an Array.
Stephen23
Stephen23 2017년 7월 20일
편집: Stephen23 2017년 7월 20일
Aha... so someone put meta-data into structure names, and now this makes the saved data harder to process. Not very surprising. This is why meta-data does not belong in variable names:
Rica
Rica 2017년 8월 1일
Thank You

댓글을 달려면 로그인하십시오.

답변 (0개)

카테고리

도움말 센터File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

질문:

2017년 7월 20일

댓글:

2017년 8월 1일

Community Treasure Hunt

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

Start Hunting!

Translated by