MATLAB Answers

Simulink outputs variables but they are not being sent to the workspace.

742 views (last 30 days)
Michael Colantonio
Michael Colantonio on 2 Apr 2019
Commented: Rick Dodder on 5 Apr 2021 at 21:09
While using my PC at home I am using 'to workspace' blocks in my diagram with save format array. When I run the simulation i get the following the the command window:
ans =
Vin: [2002x1 double]
Vout: [2002x1 double]
t: [2002x1 double]
tout: [2002x1 double]
SimulationMetadata: [1x1 Simulink.SimulationMetadata]
ErrorMessage: [0x0 char]
Undefined function or variable 't'.
Error in P1_2 (line 79)
It seems to me that simulink is outputting the variables but they are not appearing in the workspace and therefore it thinks they are undefined. I tried running the simulation on a computer at my university and it worked. I tried reinstalling Matlab on my home PC and it still doesnt work. Version 2019.

Answers (2)

David Avila
David Avila on 21 Dec 2019
Edited: David Avila on 21 Dec 2019
If you are running 2019a, the Simulink default settings for the "To Workspace" block have been changed and would need to be set back from being a single simulation output:
I have to do this every time I make a new model till further notice
Edit: Grammar
Rick Dodder
Rick Dodder on 5 Apr 2021 at 21:09
I was having the same problem, and DA's suggestion works when I run my simulation from the Simulink window using the run botton. I have the same problem if I run the simulation from the command line: run 'sim'. Any suggestions?

Sign in to comment.

Rostislav Teryaev
Rostislav Teryaev on 2 Apr 2019
First of all, you have to assign a structure Simulink.SimulationOutput to some variable
temp = Simulink.SimulationOutput;
Next, you need to access field t or Vin of this structure
To use plot you want this
temp = Simulink.SimulationOutput;
plot(temp.t, temp.Vin, temp.t, temp.Vout)

Community Treasure Hunt

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

Start Hunting!