Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

New to MATLAB?

How to enter a value to a simulation while it is executing

Asked by Arun Badigannavar on 26 Nov 2012

C=a+b; For a=1:1:1000, b=1:1:1000,I want to calculate C Value,,,I will be putting delay after calulating one addition and thereafter I want to give a flexibility to put his\her own 'a','b' value ,,,while code is executing,,,,Is it possible in MATLAB script?,,,if possible ,can anyone give me the hint to perform it




1 Answer

Answer by Kaustubha Govind

Kaustubha Govind (view profile)

on 26 Nov 2012
Edited by Kaustubha Govind

Kaustubha Govind (view profile)

on 26 Nov 2012
Accepted answer

Assuming that the variables a and b correspond to tunable parameters of a block, you can indeed change the value of either variable in the MATLAB workspace and run set_param('modelname', 'SimulationCommand', 'update') to make the model notice the new values.

If 'a' and 'b' are signals, you may find this section in the documentation useful: Access Block Data During Simulation.


Kaustubha Govind

Kaustubha Govind (view profile)

on 29 Nov 2012

Not sure what you mean by "set block value as Tunable parameter" - the block itself decides whether or not a given parameter is tunable. You can test this by pausing an already running simulation, double-click on the block dialog and see if it is still editable. One tunable-parameters are editable during simulation.

Arun Badigannavar on 3 Dec 2012

Thank you,,If I want to edit the values of tunnable parameters means I should pause the simulation?

Kaustubha Govind

Kaustubha Govind (view profile)

on 27 Dec 2012

No, you should be able to edit the parameter by double-clicking on the block or using set_param('path/to/block', 'ParamName', 'ParamValue') followed by set_param('modelname', 'SimulationCommand', 'update').

Kaustubha Govind

Kaustubha Govind (view profile)

Contact us