Пользовательские ограничения и разделяемые ограничения

Менеджер по Ограничению помогает вам создать свои собственные индивидуально настраиваемые ограничения с помощью кода MATLAB и также позволяет вам сохранять ограничения в отдельных файлах MAT так, чтобы можно было использовать его с несколькими масками блока одновременно.

Создайте пользовательские ограничения

Если ограничение, в котором вы нуждаетесь, не может быть создано со встроенными атрибутами, можно создать пользовательское ограничение путем записи собственного выражения MATLAB. Создать пользовательское ограничение:

  1. Запустите менеджера по ограничению.

  2. Нажмите Create Constraint.

  3. Введите допустимое выражение MATLAB в поле MATLAB Expression под разделом Custom Constraint.

  4. Запишите сообщение об ошибке для своего пользовательского ограничения в поле сообщения об ошибке

  5. Нажмите Apply.

Создайте разделяемые ограничения

Можно создать и сохранить ограничения параметра в файле MAT. Можно сохранить ограничение в файле MAT или из Редактора Маски или программно. Несколько масок блока могут совместно использовать ограничение параметра, сохраненное в файле MAT. Создать разделяемое ограничение:

  1. Запустите менеджера по ограничению.

  2. Нажмите Create Constraint.

  3. Создайте ограничение с необходимыми атрибутами.

  4. Установите флажок Save constraint to MAT file и задайте имя файла MAT.

  5. Нажмите 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

doubleединственныйЧисловойЦелое числоint8uint8int16uint16int32uint32int64uint64, boolean, enum, fixdtСтрока

Задайте приемлемый тип данных значения параметров маски. Например, если заданным типом данных является uint8, приемлемое значение находится в области значений uint8, то есть, 0–255.

Complexity

realкомплекс

Задайте, может ли значение параметров маски быть вещественным или комплексным числом.

Dimensions

scalar, row vector, column vector, 2-D matrix, n-D matrix

Задайте приемлемые размерности для параметра маски.

Sign

positive, negative, zero

Задайте, может ли входное значение быть положительным, отрицательным, или нуль.

Finiteness

finiteInfInfNaN

Задайте приемлемую ограниченность значения параметров маски.

Range

Minimum, Maximum

Укажите допустимый диапазон значения параметров маски.

Custom Constraint

Допустимое выражение MATLAB

Задайте пользовательское ограничение для параметра маски с помощью допустимого выражения MATLAB. Можно использовать лексему значения, чтобы параметризовать выражение. Во время валидации оцененное значение параметра заменяет лексему значения. Например, если выражением MATLAB для ограничения является value > 100 и сопоставлен параметром маски типа Edit, Parameter1, выражение MATLAB оценивает как Parameter1 > 100.

Custom Error Message

Символьный вектор

Задайте пользовательское сообщение об ошибке для пользовательского ограничения. Можно задать сообщение об ошибке как вектор символов или как ID каталога сообщений.

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте