有“查找和替换”功能块模型参数?金宝app

74(30天)
我有许多块模型,使用相同的变量作为块参数的值。现在我想改变变量名,但不想手动更新每一块参数。有什么办法可以查找和替换所有这些块参数与更新的变量的名字吗?

接受的答案

MathWorks支金宝app持团队
编辑:MathWorks支金宝app持团队 2023年4月19日
请使用GUI中的记录工作流程:
如果你需要一个程序化的方法,你可以使用仿真软件API创建一个函数。金宝app
一个示例实现可以在以下几点:
函数[replacedBlks, replacedProperties] = findReplaceParamInMdl (mdl、oldParamName newParamName)
参数
mdl(:1)字符{mustBeText}
oldParamName(:1)字符{mustBeText}
newParamName(:1)字符{mustBeText}
结束
replacedProperties = cell.empty (0,1);
%可以被用来指定搜索需要做,等等。
选择= Sim金宝appulink.FindOptions (“FollowLinks”、假);
replacedBlksH = 金宝appSimulink.findBlocks (mdl,“BlockDialogParams”、oldParamName选择);
idxBlockToReplace = 1:长度(replacedBlksH)
tempBlock = replacedBlksH (idxBlockToReplace);
dlgParamsStruct = get_param (tempBlock,“DialogParameters”);
dlgParams =字段名(dlgParamsStruct);
replacedPropertiesBlk = string.empty (0,1);
j = 1:长度(dlgParams)
如果比较字符串(get_param (tempBlock dlgParams {j}), oldParamName)
set_param (tempBlock dlgParams {j}, newParamName)
replacedPropertiesBlk = [replacedPropertiesBlk;字符串(dlgParams {j})];
结束
结束
replacedProperties = (replacedProperties; {replacedPropertiesBlk});
结束
replacedBlks = getfullname (replacedBlksH);
结束

更多的答案(0)

下载188bet金宝搏


释放

R2017b

社区寻宝

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

开始狩猎!