how to plot struct data?

18 views (last 30 days)
sellyEpp
sellyEpp on 6 Aug 2014
Commented: Fernando Belda on 4 Nov 2021
Hi, I am running a simulation in Simulink and using a to workspace block,to view the results also in the workspace. what I get as results in my workspace is an output with the name of my block, "simout", which is a 1*1 struct and a "tout" which is double. how can I plot my "simout"?

Accepted Answer

Christopher Berry
Christopher Berry on 6 Aug 2014
The simout structure has simout.signals, simout.time and simout.blockName fields. The simout.signals field also has a simout.signals.values field, which holds your sampled data.
Further, if you selected 'Structure With Time' in your 'To Workspace' block, then the time field will be populated and the easiest way to plot it is like this:
>> plot(simout.time,simout.signals.values)
Otherwise, simout.time is left empty and you should just use the tout vector for your time variable like this:
>> plot(tout,simout.signals.values)
  2 Comments
sellyEpp
sellyEpp on 6 Aug 2014
Thanks, selecting 'Structure With Time' worked for me!
Fernando Belda
Fernando Belda on 4 Nov 2021
Hi! I have a similar case, but i would like also plot the title of each signal, so in the figure appear not only the values of every signal, but also the name of it. How can this be done?
Thank you in advice!

Sign in to comment.

More Answers (2)

AJ
AJ on 15 Oct 2015
Thanks for this. Helped out a lot!!

Ardalan Sabamehr
Ardalan Sabamehr on 21 Apr 2016
Hi,
I got the output file from Complex continuous Morlet wavelet and it saved in work space as a struct file that I want to convert the file (scale to frequency) but it is block , How I can move my struct file to normal file in work space that I can plot them.
Thanks,

Community Treasure Hunt

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

Start Hunting!