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.TypeЗначение evaluation, Когда Требование УдовлетвореноЗначение 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