assign parameter values with sim command

6 views (last 30 days)
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!

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 19 Jul 2013
Edited: Azzi Abdelmalek on 19 Jul 2013
Use set_param function
  2 Comments
Ben
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.
Azzi Abdelmalek
Azzi Abdelmalek on 19 Jul 2013
You can get the name of your parameter by
get_param('yourmodel/yourblockName', 'Dialogparameters')

Sign in to comment.

More Answers (0)

Categories

Find more on Multicore Processor Targets in Help Center and File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!