evalRequirement

Класс: sdo.requirements.PhasePlaneRegion
Пакет: sdo.requirements

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

Синтаксис

evaluation = evalRequirement(requirement,signal1,signal2)
evaluation = evalRequirement(requirement,signals)

Описание

evaluation = evalRequirement(requirement,signal1,signal2) оценивает ли траектория плоскости фазы двух сигналов signal1 и signal2 удовлетворяет кусочно-линейному, связанному заданный в requirement объект. Траектория плоскости фазы является графиком двух сигналов друг против друга. Положительный evaluation значение указывает, что требование было нарушено.

evaluation = evalRequirement(requirement,signals) задает два сигнала как n-by-2 массив. Первый столбец соответствует первому сигналу, и второй столбец соответствует второму сигналу. n количество моментов времени в сигналах.

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

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

Требование области плоскости фазы, заданное как sdo.requirements.PhasePlaneRegion объект. В объекте вы задаете кусочно-линейные ребра ограничения.

Сигналы, которые будут оценены, заданные как timeseries объекты.

signal1 соответствует x- значение траектории плоскости фазы и signal2 соответствует y- значение траектории плоскости фазы.

Сигналы, которые будут оценены, заданные как n-by-2 массив. Первый столбец соответствует первому сигналу, x- значение траектории плоскости фазы. Второй столбец соответствует второму сигналу, y- значение траектории плоскости фазы. n количество моментов времени в сигналах.

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

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

Оценка требования области плоскости фазы, возвращенного как скалярное значение. Программное обеспечение находит точку траектории, которая является самой близкой к ограниченной области и затем вычисляет evaluation как масштабированное расстояние между этой точкой и самым близким обметанным краем. Положительное значение указывает, что требование было нарушено, и некоторые или все точки траектории, заданные этими двумя тестовыми сигналами, лежат за пределами заданной ограниченной области. Отрицательная величина или 0 указывает, что требованию удовлетворили. Когда evaluation 0, самая близкая точка траектории находится на ребре.

Примеры

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

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

Requirement = sdo.requirements.PhasePlaneRegion;

Объект требования задает ограниченную область как одно расширение ребра от (-1,0) до (-1,1) в плоскости фазы, заданной двумя сигналами. Requirement.Type имеет значение по умолчанию '<='. Это значение подразумевает, что область слева от ребра выходит за пределы, где прямое направление является направлением создания ребра.

Задайте данные о тестовом сигнале как timeseries объекты.

signal1 = timeseries(1-exp(-(0:10)'));
signal2 = timeseries(sin((0:10)'));

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

Evaluation = evalRequirement(Requirement,signal1,signal2)
Evaluation = -0.2632

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

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