sdo.requirements. Класс MonotonicVariable

Пакет: sdo.requirements
Суперклассы:

Наложите монотонное ограничение на переменную

Описание

Используйте объект sdo.requirements.MonotonicVariable наложить монотонное ограничение на переменную в вашей модели Simulink®. Переменная может быть вектором, матрицей или многомерным массивом, который является параметром в вашей модели, такой как точки останова интерполяционной таблицы. Вы создаете объект требования и задаете тип монотонного требования, которое должна удовлетворить переменная. Например, для 2D переменной типа массив, можно указать элементы первой размерности так же монотонно увеличение и элементы второго измерения как монотонно уменьшение.

Можно использовать объект требования в качестве входа к функции стоимости и использовать команду evalRequirement, чтобы оценить, удовлетворяют ли тестовые данные заданное требование. Можно затем использовать функцию стоимости и sdo.optimize, чтобы выполнить оптимизацию ответа согласно удовлетворенности заданного требования. Если вы выполняете анализ чувствительности, после того, как вы генерируете выборки параметра, можно использовать функцию стоимости и sdo.evaluate, чтобы оценить требование для каждой сгенерированной выборки.

Конструкция

requirement = sdo.requirements.MonotonicVariable создает объект требования sdo.requirements.MonotonicVariable и присваивает значения по умолчанию его свойствам. Используйте запись через точку, чтобы настроить свойства. Используйте команду evalRequirement, чтобы оценить, удовлетворяют ли тестовые данные заданное требование.

requirement = sdo.requirements.MonotonicVariable(Name,Value) создает объект требования с дополнительными опциями, заданными одним или несколькими аргументами пары Name,Value. Name является именем свойства, и Value является соответствующим значением. Имя должно находиться внутри одинарных кавычек (' '). Можно задать несколько аргументов пары "имя-значение" в любом порядке как Name1,Value1,...,NameN,ValueN.

Входные параметры

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Используйте  аргументы Name,Value, чтобы задать свойства   объекта требования во время создания объекта. Например, requirement = sdo.requirements.MonotonicVariable('Type',{'>'}) создает  объект sdo.requirements.MonotonicVariable и задает свойство Type как монотонно уменьшение.

Свойства

развернуть все

Описание требования, заданное как вектор символов.

Пример: 'Requirement 1 for myModel.'

Типы данных: char

Имя требования, заданного как вектор символов.

Пример: 'Requirement1'

Типы данных: char

Тип монотонности для каждой размерности переменной, заданной как массив ячеек из символьных векторов. Размер массива ячеек равняется размерностям переменной. Задайте необходимое монотонное отношение между элементами в каждой размерности как одно из следующего:

  • '<' — Каждый элемент переменной является меньше, чем следующий элемент в этом измерении. Таким образом, элементы монотонно увеличиваются.

  • '<=' — Каждый элемент переменной меньше чем или равен следующему элементу в этом измерении.

  • '>' — Каждый элемент переменной больше, чем следующий элемент в этом измерении. Таким образом, элементы монотонно уменьшаются.

  • '>=' — Каждый элемент переменной больше, чем или равен следующему элементу в этом измерении.

  • 'unconstrained' — Никакое ограничение не существует между элементами переменной в той размерности. Когда требование оценено для тестовых данных с помощью evalRequirement, выводом, соответствующим той размерности, является —Inf, указывая, что требование удовлетворено.

Например, для двумерной переменной, если вы требуете, чтобы элементы в первой размерности переменной монотонно увеличились, не имея ограничения на элементы второго измерения, задают Type как {'<','unconstrained'}.

Типы данных: cell

Методы

evalRequirementОцените удовлетворенность монотонного переменного требования

Копировать семантику

Указатель. Чтобы изучить, как классы Handle влияют на операции копии, смотрите Копирование Объектов (MATLAB).

Примеры

свернуть все

Создайте объект требования со свойствами по умолчанию.

Requirement = sdo.requirements.MonotonicVariable;

Задайте тип требования для 1-мерной переменной как монотонно уменьшение.

Requirement.Type = {'>'};

Можно теперь использовать команду evalRequirement, чтобы оценить, если тестовые данные удовлетворяют требование.

Создайте объект требования и задайте монотонность для 3-мерной переменной.

Requirement = sdo.requirements.MonotonicVariable('Type',{'<','>','>='});

Объект требует, чтобы элементы в первой размерности переменной монотонно увеличились и элементы во втором измерении, чтобы монотонно уменьшиться. Каждый элемент в третьей размерности переменной может быть больше, чем или равняться следующему элементу в этом измерении.

Введенный в R2017b