找出参数的脚本名称是重点,因为模型中显示的参数名称并非参数的脚本名称。
1.模块对话框参数的修改
(1)获取模块对话框参数名称
DialogParameters = get_param('Test/Gain', 'DialogParameters');
工作区得到以下结果:
DialogParameters 包含了所有模块对话框参数的属性,包括 Prompt、Type、Enum、Attributes,其中 Prompt 的值就是对话框参数的显示名称。
(2)修改对话框参数
使用 set_param 修改对话框参数。
set_param('Test/Gain', 'SaturateOnIntegerOverflow','on');
修改后的结果:
2.模块普通参数的修改
比如修改模块的优先级。
(1)获取参数名称
ObjectParameters =get_param('Test/Gain','ObjectParameters');
因为参数很多(一般都有一两百个),所以查找起来比较麻烦。我目前用的方法是只生成参数名称,然后复制到 Excel 进行搜索。如下:
ObjectParameters =fieldnames(get_param('Test/Gain','ObjectParameters'));
(2)修改参数值
set_param('Test/Gain', 'Priority','1');
将优先级设置为1,结果如下:
备注:可以找到模型中同一种类型的模块,从而进行多个模块的属性修改。
blockList = find_system('Test','BlockType','FromWorkspace');
for ii = 1:length(blockList)
set_param(blockList{ii},'Interpolate','off');
end