Alexandre Willame
Alexandre Willame

Reputation: 455

Simulink: 'To workspace' for a scalar value

I would like to export one scalar variable from a Simulink Diagram to the Matlab Workspace.

Simulink Diagram

Although I know that the value of 'Chemin' can be changed during the simulation, I am only interested in exporting the initial value to the workspace; I do not want a TimeSerie variable (like the 'To Workspace' block would do), I only one want scalar value.

Thank you in advance for your help!

Upvotes: 0

Views: 1691

Answers (2)

Phil Goddard
Phil Goddard

Reputation: 10762

You can do this pretty easily with an Enabled Subsystem. Make the enable signal false at all times except t=0 by using a constant (=0) and an Initial Condition block (=1), as per the following picture.

High level model
Inside the Enabled Subsystem have

Inside the subsystem
with the save format set to be Array. The simout variable will then be a scalar valued number.

Upvotes: 2

am304
am304

Reputation: 13876

I don't think you can do what you want. Everything in Simulink is time-based so you have to save the entire variable as a function of time to the workspace. However, you can add a model callback in StopFcn that extracts just the first value and clears the time-dependent variable from the workspace, e.g.:

chemin_0 = chemin(1); % assuming chemin is the name of the time-dependent variable saved to workspace
clear chemin

The StopFcn callback is executed after the simulation stops.

Upvotes: 2

Related Questions