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