Класс: 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.