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).

Смотрите также

Введенный в R2017b