Класс: sdo.requirements.RelationalConstraint
Пакет: sdo.requirements
Оцените удовлетворение требования к реляционным ограничениям
evaluation = evalRequirement(requirement,variableData1,variableData2)
оценивает ли тестовые данные из двух переменных, evaluation
= evalRequirement(requirement
,variableData1,variableData2
)variableData1
и variableData2
, удовлетворить реляционному ограничению, заданному в requirement
объект.
requirement
- Требование к реляционным ограничениямsdo.requirements.RelationalConstraint
объектТребование к реляционным ограничениям, заданное как sdo.requirements.RelationalConstraint
объект. В объекте задается отношение, необходимое между элементами двух переменных.
variableData1,variableData2
- Подлежащие оценке переменные данныеПеременные данные из двух переменных, которые будут оценены, заданные как действительные числовые векторы или массивы. Тестовые данные двух переменных должны быть одинаковыми по размеру.
evaluation
- Оценка требования к реляционным ограничениямОценка требования к реляционным ограничениям, возвращенная в виде вектора или массива того же размера, что и размерности тестовых данных 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 . |
'~=' | 0 | 1 |
Создайте объект требования и укажите, что элементы первой переменной должны быть больше, чем элементы второй переменной.
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)
.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.