Plot to axes from a simulink variable
2 views (last 30 days)
Show older comments
Hi,
I'm trying to plot a variable from simulink in a axes GUI, and that what's happening:
I put the simulation running trought GUI with this command: [timeVector,stateVector,outputVector] = sim('Sistema_s_Atraso_SelfTuning',tempo_simulacao);
and when the simulation ends the ouput variable 'simout' to appear in my base worspace, due to that i can't plot the resulta in my GUI 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 read the output variable and pot in a GUI axes?
Thanks
Nuno
2 Comments
TAB
on 30 Jan 2012
[I'm using a variable block in simulink]. What is "variable block" ?
Have you tried "ToWorkSpace" block?
You are runnung model manually or using "sim()" command, it dosn't make any difference in simulation output.
Answers (1)
Kaustubha Govind
on 31 Jan 2012
Try
sim('Sistema_s_Atraso_SelfTuning',tempo_simulacao, 'DstWorkspace', 'current');
This ensures that all variables created by Simulink use the current workspace as the destination.
EDIT:
The command needs to be:
opts = simset('DstWorkspace', 'current');
sim('Sistema_s_Atraso_SelfTuning',tempo_simulacao, opts);
5 Comments
Kaustubha Govind
on 1 Feb 2012
You only need EITHER "opts = simset('DstWorkspace', 'current');" OR "simout = evalin('base', 'simout');" - not both. Using the first will cause an error in the second statement, because there is no simout variable created in the base workspace in that case.
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!