MATLAB Answers

Ben
0

assign parameter values with sim command

Asked by Ben
on 19 Jul 2013

Suppose I have a Simulink model called myModel.mdl. One of the blocks has a parameter, and I have assigned to it the variable:

sfreq

If I want to set this variable to 0.5 and run the model, then the following code suffices:

sfreq=0.5;
sim('myModel')

However for reasons too complicated to explain here, I would like to make the first command part of the second. If sfreq were a MODEL parameter then I would simply do the following:

sim('myModel','sfreq','0.5')

Unfortunately sfreq is a block parameter, and so I get back the following error:

block_diagram does not have a parameter named 'sfreq'

Any ideas for avoiding this error?

Thanks!

  0 Comments

Tags

Products

No products are associated with this question.

1 Answer

Answer by Azzi Abdelmalek
on 19 Jul 2013
Edited by Azzi Abdelmalek
on 19 Jul 2013
 Accepted answer

Use set_param function

Example

  2 Comments

Ben
on 19 Jul 2013

Azzi,

Thank you for the suggestion. That command is exactly what I tried first. Unfortunately I won't always have access to the parameter name, which is apparently required for set_param. I can automatically find the BLOCKS in which the parameter appears by using the following command:

blocks=find_system('blockDialogParams','sfreq')

But I cannot actually find the NAMES of the parameters in the blocks which are set to the variable sfreq.

You can get the name of your parameter by

get_param('yourmodel/yourblockName', 'Dialogparameters')

Join the 15-year community celebration.

Play games and win prizes!

Learn more
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

MATLAB Academy

New to MATLAB?

Learn MATLAB today!