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