如何使用get_param吗?

45视图(30天)
戴安娜Acreala
戴安娜Acreala 2011年10月3日
这就跟你问声好!
我有一个复杂的仿真软件模型,我用2金宝app00 - 300的参数。
我的问题有下面的例子:我在我的模型使用一个常数块模型。金宝app 1) 如你所知,当你双击块中可以看到 “主要” 选项卡的字段 的恒定值 可以包含一个值(例如8)或一个参数名称(如。“my_parameter_name”)。我想要的是Matlab工作区这个名字。我使用:h = load_system (“my_model”) constant_blocks = find_system (h, SearchDepth, 2,‘LookUnderMasks’,‘所有’,‘FindAll’,‘上’,‘BlockType’,“常数”);para_name = get_param (constant_blocks,“价值”)
这将返回my_parameter_name的价值。我想要的是名称,而不是数值。我怎么能这样做呢? ?
1评论
Kaustubha Govind
Kaustubha Govind 2011年10月3日
这听起来不正确的。如果对话框包含一个变量名称值,get_param应该返回一个字符串包含相同的变量名(这是您所需要的)。也许你应该确认相应的常数块确实使用变量名吗?

登录置评。

答案(3)

Fangjun江
Fangjun江 2011年10月3日
我认为你find_system()行可能会返回很多块。你需要缩小它。
或者只是使用一个简单的例子,拖拽一个常数,双击它,输入“MyPara”作为它的值,然后在命令窗口,运行
“价值”get_param (gcb)
2的评论
Fangjun江
Fangjun江 2011年10月3日
这很好。然后使用get_param问题是什么()?你试一试在一个固定块先验证一下吗?

登录置评。


拉詹
拉詹 2011年10月3日
constant_blocks = find_system (h, SearchDepth, 2,‘LookUnderMasks’,‘所有’,‘FindAll’,‘上’,‘BlockType’,“常数”);const_value = [];
i = 1:长度(constant_blocks)
const_value = [const_value get_param (constant_blocks(我),“价值”)];
结束
我希望这一个工作. .
1评论
Fangjun江
Fangjun江 2011年10月3日
不。你不需要循环。get_param()可以采取一系列的处理单元阵列,并返回结果。

登录置评。


戴安娜Acreala
戴安娜Acreala 2011年10月4日
它给了我同样的事情…numeriv值,而不是名字……有另一个解决方案吗?
3评论
Fangjun江
Fangjun江 2011年10月4日
f14 TMW提供金宝app的是一个仿真软件模型。我表明get_param()将能够获得变量的名称,而不是数值。如果你运行两行,你会得到答案。你的问题能解决问题。我不明白为什么你这么纠结于这样一个简单的任务。

登录置评。

类别

找到更多的在回调函数模型、块和港口帮助中心文件交换

标签

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!