MATLAB Answers


How do I plot Simulink signal values saved to the MATLAB workspace on an axes?

Asked by andoni
on 31 May 2011
Latest activity Edited by Walter Roberson
on 9 Oct 2016 at 2:36

I have to plot a signals in a MATLAB gui.

With Simulink I make a simulation and I save the signal in the workspace. I want to plot that signal in a gui axes but I dont know what I have to do.


5 Answers

Answer by Arnaud Miege
on 31 May 2011
 Accepted answer

I assume you run the Simulink model from the MATLAB GUI using the sim command. The data from your Scope will end up in the GUI (caller) workspace rather than the base workspace. So you should be able to plot it using something like:

plot(ScopeData.time, ScopeData.signals.values)

You may need to specify the handle of the axis on which to plot the data.

Also have a look at this technical solution.




Arnaud Miege
on 31 May 2011

No, it isn't, but you indicated that you want to plot the signals in the MATLAB GUI, so I logically assume that you wanted to run the Simulink model from the GUI as well. It does have the advantage that the data will be readily available in the GUI workspace rather than the base workspace.

on 1 Jun 2011

thank you so much!

Thanks, worked. BUT How to draw a realtime?

Answer by Walter Roberson
on 31 May 2011

Are you using a "To Workspace" block? If so then when you look at the variable, what class() and size() is it? And what kind of plot are you thinking of?


Use the command that Amaud Miege gave above.
plot(ScopeData.time, ScopeData.signals.values)

Though before that you might need to add

ScopeData = evalin('base', ScopeData);

in order to import the data from the base workspace in to the workspace of the current function.

on 1 Jun 2011

thank you so much!

Answer by Nuno Agualusa
on 28 Jan 2012


I'm facing the same problem, but with a small diference. I'm running the simulink from GUI, but when the simulation finish doesn't apear a variable 'simout' in my base workspace. So i can´t plot the result on axes. I'm using a variable block in simulink, to get all the data to worspace. The only way that i found to get a variable in base workspace, is to run the simulation manualy in simulink.

what can i do to solve this situation?

Thank you very much.



How are you running the SIM command? You might want to set 'DstWorkspace' to 'current' to make sure that Simulink uses your GUI function workspace as the destination workspace.

yes, the running command that i used is:


The problem is when a simulation ends i can't plot in my GUI axes the result of the simulation..and this action has to be peformed only trought out GUI.

Answer by erhan
on 30 Nov 2013

I want set guı axes from scope value. Can you give example ?


Answer by yati j
on 9 Oct 2016 at 1:04
Edited by Walter Roberson
on 9 Oct 2016 at 2:36

Hello, Could u suggest me any tutorial or any solution to this

  • i have my motor dc to run
  • when the dc motor run/rotate, maybe a graph pop-up which is read my motor speed or relevant to the rotation
  • i dont know the connection btween component
  • i dont know how to draw the simulink

i've read and watched a lot of tutorial.

Thank You.

  1 Comment

Walter Roberson
on 9 Oct 2016 at 2:35

Please create a new Question for this.

Join the 15-year community celebration.

Play games and win prizes!

Learn more
Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!