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?
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;
SimAnalysis = max(logsout.x.Data); % stand in for my analysis
Thanks - that got me most of the way there. In addition to the destination workspace, I also needed a source workspace:
opts = simset('DstWorkspace','current','SrcWorkspace','current'); sim('my_model.mdl',, opts)
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);