Simulink workspace

2 views (last 30 days)
Clinton Cathey
Clinton Cathey on 23 Jun 2011
All-
I have a simulink model with many of the simulation and block parameters defined by variables. I am trying to create the variables and call the model (with the 'sim' command) in a function. However, the model doesn't seem to look for the variables in the function's workspace.
Would just as soon not make the variables global or add them to the base level workspace. How can I add the variables to the model's workspace or have the model reference the function's workspace?
Thanks CC
-------------------------------------------------
A simplified version of my function is:
SimAnalysis = function(controller,plant,Tmax,Ts)
% controller is a structure needed by the mdl that contains the parameters that define my controller
% plant is a structure needed by the mdl that contains the parameters that define my plant
% Tmax is a scalar that is the stop time of the model in seconds
% Ts is a scalar that is the sample period of the model in seconds
a = 1; % other parameters needed by the simulation, but fixed for this case
b = 2;
c = 3;
sim('my_model.mdl')
SimAnalysis = max(logsout.x.Data); % stand in for my analysis

Accepted Answer

Clinton Cathey
Clinton Cathey on 23 Jun 2011
Paulo-
Thanks - that got me most of the way there. In addition to the destination workspace, I also needed a source workspace:
CC
opts = simset('DstWorkspace','current','SrcWorkspace','current');
sim('my_model.mdl',[], opts)
  1 Comment
Paulo Silva
Paulo Silva on 23 Jun 2011
Sorry for the mistake, I copied the code from a previous answer but forgot to change DstWorkspace to SrcWorkspace

Sign in to comment.

More Answers (1)

Paulo Silva
Paulo Silva on 23 Jun 2011
change the workspace of your simulation or define the parameters of the simulation or blocks with set_param, here's the simple solution
opts = simset('DstWorkspace','current')
sim('my_model.mdl',[], opts);

Products

Community Treasure Hunt

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

Start Hunting!