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конец последнего ребра кусочно-линейной границы простирается до бесконечности.

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

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

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

Пример: 'Requirement1'

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

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

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

    Например, рассмотрим границу с одним ребром между точкой A, расположенной в (-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 влияют на операции копирования, см. раздел «Копирование объектов».

Примеры

свернуть все

Создайте объект требования к области фазовой плоскости со свойствами по умолчанию. Объект задает кусочно-линейную границу на траектории плоскости фазы двух сигналов. Плоскость фазы является плоскостью 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) находится вне границ, когда ребра заданы в обратном порядке.

Введенный в R2016b