sdo.requirements. Класс PhasePlaneRegion

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

Наложите область, привязал траекторию плоскости фазы двух сигналов

Описание

Использование объект sdo.requirements.PhasePlaneRegion наложить область привязало траекторию плоскости фазы двух сигналов в модели Simulink®. Траектория плоскости фазы является графиком двух сигналов друг против друга. В объекте можно задать ограниченную область как одно ребро или несколько кусочно-линейных ребер. Вы задаете запуск и окончание x и координат y обметанных краев, где плоскость X-Y является плоскостью фазы, заданной двумя сигналами. Вы также задаете, требуете ли вы траектории двух сигналов лечь внутри или снаружи ограниченной области, заданной ребрами.

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

Конструкция

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

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

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

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

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

Используйте  аргументы Name,Value, чтобы задать свойства   объекта требования во время создания объекта. Например, requirement = sdo.requirements.PhasePlaneRegion('OpenEnd',[1 1]) создает  объект sdo.requirements.PhasePlaneRegion и указывает, что первое и последнее ребро связанного расширяет к бесконечности.

Свойства

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

X-координаты ребер, которые задают ограниченную область, заданную как n-by-2 массив с конечными значениями, где n является количеством ребер в связанном. Каждая строка BoundX задает запуск и конечные значения x-координаты ребра. Количество строк должно совпадать с количеством строк в свойстве BoundY, которое задает y-координаты ребер.

Необходимо задать свойства BoundX и BoundY одновременно, или  аргументы Name,Value использования во время объектной конструкции или использование команды set после объектной конструкции.

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

Y-координаты ребер, которые задают ограниченную область, заданную как n-by-2 массив с конечными значениями, где n является количеством ребер в связанном. Каждая строка BoundY задает запуск и конечные значения y-координаты ребра. Количество строк должно совпадать с количеством строк в свойстве BoundX, которое задает x-координаты ребер.

Необходимо задать свойства BoundX и BoundY одновременно, или  аргументы Name,Value использования во время объектной конструкции или использование команды set после объектной конструкции.

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

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

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

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

Расширение первых и последних обметанных краев к бесконечности, заданной как 1 2 логический массив.

Если первым элементом OpenEnd является true, начало первого ребра в связанном кусочно-линейном расширяет к бесконечности. Если вторым элементом OpenEnd является true, конец последнего ребра в связанном кусочно-линейном расширяет к бесконечности.

Для примера смотрите, Создают область Плоскости Фазы, Связанную С Расширением Ребра к Бесконечности.

Типы данных: логический

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

Пример: 'Requirement1'

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

Тип связанных, заданных как одно из следующего:

  • '<=' — Из-связанного область всегда слева от каждого ребра, где прямое направление является направлением создания ребра.

    Например, считайте одно ребро связанным между точкой расположенный в (-1,1) и точкой B в (3,1). Предположим, что вы задаете координаты точки A, прежде чем вы зададите точку B. Таким образом, вы задаете BoundX как [-1 3] и BoundY как [1 1]. Черная стрелка в левом графике показывает направление создания ребра, и желтая область из-связанного область, когда Type является '<='. Теперь предположите, что вы вместо этого задаете точку B перед точкой A. Таким образом, вы указываете, что BoundX является [3 -1], и BoundY является [1 1]. Правильный график показывает, что из-связанного область теперь ниже ребра, потому что направление создания ребра инвертировало.

  • '>=' — Из-связанного область всегда справа от каждого ребра.

    Для примера одно ребра предположите, что вы задаете координаты точки A, прежде чем вы зададите точку B. В левом графике вы видите, что желтый из-связанного область ниже ребра, когда Type является '>='. Это вызвано тем, что желтая область справа от ребра, в направлении создания ребра. Если вы вместо этого задаете точку B, прежде чем точка A, правильный график покажет, что из-связанного область теперь выше ребра.

Для примера с несколькими обметанными краями смотрите, Задают ограниченную область С Несколькими Ребрами и Оценивают Требование.

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

Методы

evalRequirementОцените удовлетворенность кусочно-линейных, привязал траекторию плоскости фазы двух сигналов

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

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

Примеры

свернуть все

Создайте объект требования области плоскости фазы со свойствами по умолчанию. Объект указывает, что кусочно-линейное привязало траекторию плоскости фазы двух сигналов. Плоскость фазы является плоскостью X-Y, заданной двумя сигналами.

Requirement = sdo.requirements.PhasePlaneRegion;

Задайте кусочно-линейное, связанное с двумя ребрами. (x, y) координаты в течение начала и конца первого ребра (1,1) и (2,1). Второе ребро расширяет от (2,1) до (2,0). Необходимо задать свойства BoundX и BoundY одновременно.

set(Requirement,'BoundX',[1 2; 2 2],'BoundY',[1 1; 1 0])

Укажите, что начало первого ребра расширяет к бесконечности.

Requirement.OpenEnd = [1 0];

Первое ребро теперь расширяет от (-Inf, 1) к (2,1).

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

Создайте объект требования указать, что кусочно-линейное привязало траекторию плоскости фазы двух сигналов. Связанное имеет два ребра. Первое ребро расширяет от (-4,1) до (2,1). Второе ребро расширяет от (2,1) до (2,-4).

Requirement = sdo.requirements.PhasePlaneRegion('BoundX',[-4 2; 2 2],...
    'BoundY',[1 1; 1 -4]);

Задайте связанный тип как '>='.

Requirement.Type = '>=';

График ниже показов ребра ограничения черного цвета цвета. Стрелки указывают на направление, в котором были заданы ребра. Когда вы задаете свойство Type как '>=', из-связанного, область всегда справа от каждого ребра, где прямое направление является направлением создания ребра. В результате из связанной области желтая заштрихованная область, и точка траектории, расположенная в (3,3), находится в ограниченной области.

Оцените требование для точки траектории плоскости фазы, расположенной в (3,3).

Evaluation = evalRequirement(Requirement,[3 3])
Evaluation = -0.6389

evalRequirement возвращает отрицательное число, указывая, что требование удовлетворено.

Теперь создайте требование путем изменения порядка спецификации ребер.

set(Requirement,'BoundX',[2 2; 2 -4],'BoundY',[-4 1;1 1]);

График показывает, что ребра были созданы в противоположном порядке. Так, даже при том, что типом требования является все еще '>=', из-связанного область, которая всегда является справа от ребер, теперь инвертируется.

Оцените требование.

Evaluation = evalRequirement(Requirement,[3 3])
Evaluation = 0.1087

Положительное значение Evaluation указывает, что требование было нарушено. Таким образом, для того же типа требования, точка траектории в (3,3) выходит за пределы, когда ребра заданы в обратном порядке.

Введенный в R2017b