assign parameter values with sim command

3 次查看(过去 30 天)
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!

采纳的回答

Azzi Abdelmalek
Azzi Abdelmalek 2013-7-19
编辑:Azzi Abdelmalek 2013-7-19
Use set_param function
  2 个评论
Ben
Ben 2013-7-19
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 2013-7-19
You can get the name of your parameter by
get_param('yourmodel/yourblockName', 'Dialogparameters')

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Multicore Processor Targets 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by