MATLAB: Calling SimMechanics which requires input variables from matlab function

retagsimmechanicsSimscape Multibodysimulink

I am calling my simMech model from my matlab function using sim('mymodel.mdl') in a matlab function file. Only problem is that the model cannot run because I need it to take parameters that are defined in my function (e.g. initial conditions on a joint is specified as 'jointIC' in the simMech model and in my matlab function I have jointIC = 0;) Furthermore I need to pass the outputs of the model back to my function.
I know that you can do what I have described for script files in matlab i.e the variables are passed back and forth from the matlab workspace. But in my case it is very important that I pass them via my function!
Any input would be appreciated, thanks!

Best Answer

You need to pass in some additional options to the SIM command to make sure that the model reads and writes to the function workspace instead of the base workspace.
options = simset('SrcWorkspace','current', 'DstWorkspace', 'current');
sim('mymodel.mdl', options);