I ran a Monte-Carlo with 300 simulation runs and I stored the output data for each run in a structure as
DATA(i).x = outputX;
DATA(i).y = outputY;
.Now I want to plot the data in a figure for all iterations without iterating through a loop. For now, I'm using
figure(1);hold on;grid on;box on;
for i = 1:n
plot(DATA(i).x,DATA(i).y,'.-')
end
hold off;
Is it possible to plot all the data as
plot(DATA(:).x,DATA(:).y,'.-');
or do I have to use commands like struct2cell and then cell2mat for this?

 채택된 답변

Fawad Khan
Fawad Khan 2022년 8월 2일

1 개 추천

I think I've found the answer to this myself.
figure(1);hold on;grid on;box on;
p = arrayfun(@(a) plot(a.x,a.y,'.-'),DATA);
This works quite well and also faster than plotting inside a for loop.

추가 답변 (0개)

카테고리

제품

릴리스

R2021a

질문:

2022년 8월 2일

답변:

2022년 8월 2일

Community Treasure Hunt

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

Start Hunting!

Translated by