sdo.requirements.PhasePlaneRegion class

Пакет: 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 соответствующее значение. Name должен появиться в одинарных кавычках (''). Можно задать несколько аргументов пары "имя-значение" в любом порядке как Name1,Value1,...,NameN,ValueN.

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

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

Задайте дополнительные разделенные запятой пары Name,Value аргументы. 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