Менеджер по Ограничению помогает вам создать свои собственные индивидуально настраиваемые ограничения с помощью кода MATLAB и также позволяет вам сохранять ограничения в отдельных файлах MAT так, чтобы можно было использовать его с несколькими масками блока одновременно.
Если ограничение, в котором вы нуждаетесь, не может быть создано со встроенными атрибутами, можно создать пользовательское ограничение путем записи собственного выражения MATLAB. Создать пользовательское ограничение:
Запустите менеджера по ограничению.
Нажмите Create Constraint.
Введите допустимое выражение MATLAB в поле MATLAB Expression под разделом Custom Constraint.
Запишите сообщение об ошибке для своего пользовательского ограничения в поле сообщения об ошибке
Нажмите Apply.
Можно создать и сохранить ограничения параметра в файле MAT. Можно сохранить ограничение в файле MAT или из Редактора Маски или программно. Несколько масок блока могут совместно использовать ограничение параметра, сохраненное в файле MAT. Создать разделяемое ограничение:
Запустите менеджера по ограничению.
Нажмите Create Constraint.
Создайте ограничение с необходимыми атрибутами.
Установите флажок Save constraint to MAT file и задайте имя файла MAT.
Нажмите Apply.
Разделяемое ограничение перечислено в разделе Редактора свойств в формате <MATFileName>:<ConstraintName>
. Можно выбрать любое доступное ограничение как требуется и сопоставить его параметром Edit.
В то время как создание совместно использовало ограничения, рекомендуется что вы:
Сохраните ограничения в файлы MAT, которые находятся в пути MATLAB.
Обеспечьте понятные имена к ограничениям так, чтобы другие пользователи могли изучить природу ограничения легко.
Ограничения, сопоставленные к параметру Edit из файла MAT (совместно использованные ограничения), подтверждены во время разового редактированием и симуляции.
Можно сохранить ограничения в файле MAT и загрузить ограничения из файла MAT программно.
Сохранить ограничение в файле MAT:
uint16Constraint = Simulink.Mask.Constraints; uint16Constraint.Name = 'uint16Constraint'; uint16Constraint.addParameterConstraintRule('DataType', 'uint16'); save('constraintList.mat', 'uint16Constraint','-append'); % appends 'uint16Constraint' save('constraintList.mat', 'uint16Constraint') % overwrites the MAT file with 'uint16Constraint'
Рекомендуется что ограничительное имя (например, uint16Constraint.Name = 'uint16Constraint'
) и переменная, используемая в хранении ограничения (например, uint16Constraint = Simulink.Mask.Constraints
) имейте то же имя.
Загружать ограничение из файла MAT:
myConstraints = load(‘constraintList’) % loads constraints into the variable 'myConstraints'
Постановите, что атрибуты, доступные в менеджере по Ограничению, чтобы создать ограничения, показывают в таблице:
Управляйте атрибутом | Значение атрибута | Описание |
---|---|---|
Data type |
| Задайте приемлемый тип данных значения параметров маски. Например, если заданным типом данных является |
Complexity |
| Задайте, может ли значение параметров маски быть вещественным или комплексным числом. |
Dimensions |
| Задайте приемлемые размерности для параметра маски. |
Sign |
| Задайте, может ли входное значение быть положительным, отрицательным, или нуль. |
Finiteness |
| Задайте приемлемую ограниченность значения параметров маски. |
Range |
| Укажите допустимый диапазон значения параметров маски. |
Custom Constraint | Допустимое выражение MATLAB | Задайте пользовательское ограничение для параметра маски с помощью допустимого выражения MATLAB. Можно использовать лексему значения, чтобы параметризовать выражение. Во время валидации оцененное значение параметра заменяет лексему значения. Например, если выражением MATLAB для ограничения является |
Custom Error Message | Символьный вектор | Задайте пользовательское сообщение об ошибке для пользовательского ограничения. Можно задать сообщение об ошибке как вектор символов или как ID каталога сообщений. |