evalRequirement

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

Оцените удовлетворение требования к реляционным ограничениям

Синтаксис

evaluation = evalRequirement(requirement,variableData1,variableData2)

Описание

evaluation = evalRequirement(requirement,variableData1,variableData2) оценивает ли тестовые данные из двух переменных, variableData1 и variableData2, удовлетворить реляционному ограничению, заданному в requirement объект.

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

расширить все

Требование к реляционным ограничениям, заданное как sdo.requirements.RelationalConstraint объект. В объекте задается отношение, необходимое между элементами двух переменных.

Переменные данные из двух переменных, которые будут оценены, заданные как действительные числовые векторы или массивы. Тестовые данные двух переменных должны быть одинаковыми по размеру.

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

расширить все

Оценка требования к реляционным ограничениям, возвращенная в виде вектора или массива того же размера, что и размерности тестовых данных variableData1. Обратите внимание, что размер variableData1 и variableData2 то же самое.

Каждый элемент в evaluation указывает, соответствуют ли соответствующие элементы в variableData1 и variableData2 удовлетворить требование. Значение, возвращенное для каждого элемента evaluation зависит от отношения, заданного в объекте требования:

requirement.Typeevaluation Значение, когда требование удовлетвореноevaluation Значение, когда требование нарушено
'>' или '<'Отрицательное число с |v1-v2| величины, абсолютное значение различия между элементами v1 и v2 от variableData1 и variableData2. Положительное число с |v1-v2| величины, или 0 если элементы равны.
'>=' или '<='Отрицательное число с |v1-v2| величины, или 0 если элементы равны.Положительное число с |v1-v2| величины.
'=='0Ненулевое число, которое является различием между двумя элементами, v1-v2.
'~='01

Примеры

расширить все

Создайте объект требования и укажите, что элементы первой переменной должны быть больше, чем элементы второй переменной.

Requirement = sdo.requirements.RelationalConstraint('Type','>');

Задайте тестовые данные для двух переменных. Тестовые данные для обеих переменных должны быть одинаковыми по размеру.

varData1 = [20 -3 7];
varData2 = [20 -1 6];

Оцените, удовлетворяют ли тестовые данные требованию.

Evaluation = evalRequirement(Requirement,varData1,varData2)
Evaluation = 1×3

    0.0000    2.0000   -1.0000

Evaluation всегда совпадает с размером тестовых данных. Когда тип связи задан как '>', если требование удовлетворено, evalRequirement возвращает отрицательное число с величиной, равной абсолютному значению различия между этими двумя элементами. Если требование нарушено, Evaluation является положительным числом с величиной, равной абсолютному значению различия между двумя элементами, или 0 если элементы равны.

Первые элементы двух переменных равны, поэтому требование нарушается и Evaluation(1) является 0, различие между элементами.

Вторые элементы, -3 и -1, нарушают требование, приводя к положительному Evaluation(2) со значением = abs (-3- (-1)) = 2.

Третьи элементы 7 и 6 удовлетворяют требованию, что приводит к отрицательной Evaluation(3) со значением = -abs (7-6) = -1.

Создайте объект требования и укажите, что элементы двух переменных должны быть равны друг другу.

Requirement = sdo.requirements.RelationalConstraint('Type','==');

Задайте тестовые данные для двух переменных.

varData1 = [20 15];
varData2 = [20 55];

Оцените, удовлетворяют ли тестовые данные требованию.

Evaluation = evalRequirement(Requirement,varData1,varData2)
Evaluation = 1×2

     0   -40

Evaluation - тот же размер, что и тестовые данные. Когда тип связи задан как '= =', если требование удовлетворено, evalRequirement возвращает 0, различие между элементами. Если требование нарушено, Evaluation является ненулевым числом, равным различию между этими двумя элементами.

Первые элементы двух переменных равны, поэтому требование удовлетворено и Evaluation(1) является 0.

Вторые элементы 15 и 55 нарушают требование, приводя к ненулевому Evaluation(2).

Введенный в R2016b