Invalid constraint attribute name for addCrossPa​rameterCon​straint

I am building a Simulink mask programatically and came across an issue while trying to add a cross-parameter constraint with maskObj.addCrossParameterConstraint. It requires a constraint name and a rule (error message is optional). However, 'Rule' comes up as an invalid constraint attribute name. Anyone else come across this or know what the attribute name should be?
**My script:
blockMask.addCrossParameterConstraint('Name','UniquePortNames',...
'Rule','strcmpi(PortName_1,PortName_2)==0',...
'ErrorMessage','Some ports are not accounted for.');
**Result in command line:
Invalid constraint attribute name, 'Rule'.

回答(1 个)

Hi Rachel, try setting the property name to 'MATLABexpression' rather than 'Rule':
CrossConstraint = maskHandle.addCrossParameterConstraint('Name','constraint1',...
'MATLABexpression','mod(parameter1,parameter2) == 0','ErrorMessage','Invalid parameter')

类别

帮助中心File Exchange 中查找有关 Author Block Masks 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by