Why does my ‘SimulationInput’ object not have any effect on my simulation results?

I am using the Simulink.SimulationInput class to define simulation parameters for multiple simulations. I am using the following lines of code:

simIn = Simulink.SimulationInput(model);simIn.setModelParameter('SaveTime','on','TimeSaveName','tout');
simIn.setModelParameter('SaveState','on','StateSaveName','xout');
simIn.setModelParameter('SaveOutput','on','OutputSaveName','yout');
simIn.setBlockParameter('model/Proportional Gain', 'Value', '-9.4');
simOut = sim(simIn);

I can tell that none of these parameters are changed when I simulate the model. I expect that the gain value of -9.4 will cause the system to become unstable. However, the plot of the system response is exactly the same as that of the default model. What step am I missing to be able to use the ‘SimulationInput’ object for running multiple simulations?

ANSWER

Matlabsolutions.com provide latest MatLab Homework Help,MatLab Assignment Help for students, engineers and researchers in Multiple Branches like ECE, EEE, CSE, Mechanical, Civil with 100% output.Matlab Code for B.E, B.Tech,M.E,M.Tech, Ph.D. Scholars with 100% privacy guaranteed. Get MATLAB projects with source code for your learning and research.

The SimulationInput object methods must be reassigned to the object itself after being called e.g. ‘simIn =’ should appear on the left-hand side of the call to ‘simIn.setModelParameter’ as in this documentation page:

Otherwise, the resulting SimulationInput object will be returned to ‘ans’ in the workspace and executing the ‘sim’ command on the originally created object will run the model without any changes.

The correct way to use the methods for the SimulationInput object for your example is shown below:

simIn = Simulink.SimulationInput(model);simIn = simIn.setModelParameter('SaveTime','on','TimeSaveName','tout');
simIn = simIn.setModelParameter('SaveState','on','StateSaveName','xout');
simIn = simIn.setModelParameter('SaveOutput','on','OutputSaveName','yout');
simIn = simIn.setBlockParameter('model/Proportional Gain', 'Value', '-9.4');
simOut = sim(simIn);

SEE COMPLETE ANSWER CLICK THE LINK

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Technical Source

Technical Source

Simple! That is me, a simple person. I am passionate about knowledge and reading. That’s why I have decided to write and share a bit of my life and thoughts to.