exponenta event banner

sdo.requirements.MonotonicVariable класс

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

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

Описание

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

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

Строительство

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

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

Входные аргументы

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

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. 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Оценка удовлетворенности требованиям монотонных переменных

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

Ручка. Сведения о том, как классы обработки влияют на операции копирования, см. в разделе Копирование объектов.

Примеры

свернуть все

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

Requirement = sdo.requirements.MonotonicVariable;

Укажите тип требования для одномерной переменной как монотонно уменьшающийся.

Requirement.Type = {'>'};

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

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

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

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

Представлен в R2016b