sdo.requirements. Класс FunctionMatching
Пакет: sdo.requirements
Суперклассы:
Наложите ограничение соответствия функции на переменную
Описание
Используйте объект sdo.requirements.FunctionMatching
наложить ограничение соответствия функции на значения переменной в модели Simulink®. Переменная может быть вектором, матрицей или многомерным массивом, который является параметром в вашей модели, такой как данные интерполяционной таблицы в вашей модели. Вы создаете объект требования и задаете линейную или квадратичную функцию, с которой вы хотите, чтобы переменная совпадала. Например, для двумерной переменной, можно указать что тестовые данные от зависимой переменной соответствие V
линейная функция независимых переменных X1
и X2
:
Где, a0
, a1
и a2
являются подходящими коэффициентами, и X1
и X2
являются векторами.
Вы используете метод evalRequirement
, чтобы оценить, удовлетворяют ли ваши тестовые данные заданное требование, и задайте векторы независимой переменной как входные параметры к методу. Программное обеспечение вычисляет подходящие коэффициенты с помощью независимых переменных и тестовых данных и затем вычисляет ошибку между тестовыми данными и заданной функцией независимых переменных.
Можно использовать объект требования в качестве входа к функции стоимости и использовать команду evalRequirement
в функции стоимости, чтобы оценить требование. Можно затем использовать функцию стоимости и sdo.optimize
, чтобы выполнить оптимизацию ответа согласно удовлетворенности заданного требования. Если вы выполняете анализ чувствительности, после того, как вы генерируете выборки параметра, можно использовать функцию стоимости и sdo.evaluate
, чтобы оценить требование для каждой сгенерированной выборки.
Конструкция
requirement
=
sdo.requirements.FunctionMatching
создает объект требования sdo.requirements.FunctionMatching
и присваивает значения по умолчанию его свойствам. Используйте запись через точку, чтобы настроить свойства. Используйте команду evalRequirement
, чтобы оценить, удовлетворяют ли тестовые данные заданное требование.
requirement
= sdo.requirements.FunctionMatching(Name,Value
)
создает объект требования с дополнительными опциями, заданными одним или несколькими аргументами пары Name,Value
. Name
является именем свойства, и Value
является соответствующим значением. Имя должно находиться внутри одинарных кавычек (' ').
Можно задать несколько аргументов пары "имя-значение" в любом порядке как Name1,Value1,...,NameN,ValueN
.
Свойства
развернуть все
Центры
Значения, чтобы вычесть из векторов независимой переменной
[0 0]
(значение по умолчанию) | вектор
Значения, чтобы вычесть из векторов независимой переменной, которые вы вводите к методу evalRequirement
, заданному как вектор длины, равной количеству независимых переменных. Количество независимых переменных равняется размерности тестовых данных. Например, предположите, что вы задаете Centers
как [1 2]
для двумерной переменной с двумя независимыми переменными. Программное обеспечение вычитает 1
из первого вектора независимой переменной и 2
от второго вектора независимой переменной.
Задайте Centers
, чтобы улучшить числовое создание условий, когда один или несколько векторов независимой переменной имеют среднее значение, которое отличается от 0 несколькими порядками величины. Если вы не задаете векторы независимой переменной, то программное обеспечение не использует Centers
.
Значение по умолчанию Centers
, [0 0]
, для двумерной переменной. Для переменных других размерностей измените свойства Scales
и Centers
вместе с помощью команды set
. Для примера смотрите, Оценивают Требование Соответствия Функции для Одномерной Переменной.
Типы данных: double
Описание
Описание требования
''
(значение по умолчанию) | вектор символов
Описание требования, заданное как вектор символов.
Пример: 'Requirement 1 for myModel.'
Типы данных: char
Method
— Метод для обработки ошибок
'SSE'
(значение по умолчанию) | 'SAE'
| 'Residuals'
Метод для обработки ошибок во время оценки требования командой evalRequirement
. Команда вычисляет сигнал ошибки, который является различием между тестовыми данными и функцией независимых переменных, заданных в свойстве Type
. Method
задает, как ошибки далее обрабатываются. Method
задан как одно из следующих значений:
Типы данных: char
Имя
Имя требования
''
(значение по умолчанию) | вектор символов
Имя требования, заданного как вектор символов.
Пример: 'Requirement1'
Типы данных: char
Scales
— Масштабирование векторов независимой переменной
[1 1]
(значение по умолчанию) | вектор положительных чисел
Масштабирование векторов независимой переменной, которые вы вводите к методу evalRequirement
, заданному как вектор длины, равной количеству независимой переменной. Количество независимых переменных равняется размерности тестовых данных. Векторы независимой переменной разделены на соответствующее значение Scales
после вычитания значений Centers
.
Например, предположите, что вы задаете Centers
как [5 50]
и Scales
как [10 100]
для двумерной переменной с двумя независимыми переменными. Программное обеспечение вычитает 5
из первого вектора независимой переменной и делит результат на 10
. Программное обеспечение вычитает 50
из второго вектора независимой переменной и делит результат на 100
.
Задайте Scales
, чтобы улучшить числовое создание условий, когда векторы независимой переменной будут отличаться друг от друга несколькими порядками величины. Если вы не задаете векторы независимой переменной, то программное обеспечение не использует Scales
.
Значение по умолчанию Scales
, [1 1]
, для двумерной переменной. Для переменных других размерностей измените свойства Scales
и Centers
вместе с помощью команды set
. Для примера смотрите, Оценивают Требование Соответствия Функции для Одномерной Переменной.
Типы данных: double
Ввод
Функция, которая будет соответствующей
'linear'
(значение по умолчанию) | 'purequadratic'
| 'quadratic'
Функция, которая будет соответствующей, заданная как одно из следующего:
'linear'
— Тестовые данные от зависимой переменной V
являются подходящими к линейной функции. Например, для двумерной переменной с независимыми переменными, X1
и X2
, линейная функция имеет форму:
Когда вы используете evalRequirement
, чтобы оценить требование для тестовых данных, программное обеспечение вычисляет подходящие коэффициенты a0
, a1
и a2
и затем вычисляет ошибку между тестовыми данными и линейной функцией.
'purequadratic'
— Тестовые данные являются подходящими к квадратичной функции без перекрестных условий. Для двумерной переменной функция неполного квадратного уравнения имеет форму:
'quadratic'
— Тестовые данные являются подходящими к квадратичной функции, которая включает перекрестные условия. Для двумерной переменной квадратичная функция имеет форму:
Если тестовые данные одномерны, нет никаких перекрестных условий и таким образом, вычисление эквивалентно, когда Type
является 'purequadratic'
.
Типы данных: char
Копировать семантику
Указатель. Чтобы изучить, как классы Handle влияют на операции копии, смотрите Копирование Объектов (MATLAB).
Примеры
свернуть все
Создайте объект требования совпадать с квадратичной функцией
Создайте объект требования наложить требование соответствия функции к значениям переменной.
Объект создается со свойствами по умолчанию и указывает, что тестовые данные от переменной должны совпадать с линейной функцией.
Укажите, что тестовые данные должны совпадать с квадратичной функцией без перекрестных условий.
Можно теперь использовать команду evalRequirement
, чтобы оценить, удовлетворяют ли тестовые данные требование.
Задайте масштабирование и центрирование значений для независимых переменных
Создайте функцию, совпадающую с объектом требования для двумерной переменной, и задайте масштабирование и центрирование значений для независимых переменных.
Свойства Centers
и Scales
заданы как векторы длины, равной количеству независимых переменных. Количество независимых переменных равняется размерности тестовых данных.
Когда вы задаете независимые переменные как входные параметры к команде evalRequirement
, программное обеспечение вычитает 5
из первой независимой переменной и затем делит результат на 10
. Программное обеспечение вычитает 50
из второй независимой переменной и затем делит результат на 100
.
Оцените требование соответствия функции для одномерной переменной
Создайте объект требования совпадать с одномерными переменными данными к линейной функции.
Задайте свойства Centers
и Scales
для одномерной переменной при помощи команды set
. Вы задаете эти свойства, потому что их значения по умолчанию для двумерной переменной.
Задайте тестовые данные для одномерной переменной.
Оцените требование.
Программное обеспечение вычисляет линейную функцию с помощью вектора независимой переменной по умолчанию [0 1 2 3 4]
, потому что вы не задавали векторов независимой переменной. Существует одна независимая переменная, потому что количество независимых переменных должно равняться количеству размерностей тестовых данных. Размер вектора независимой переменной равняется размеру тестовых данных.
В этом примере метод обработки имеет значение по умолчанию 'SSE'
, таким образом, evaluation
возвращен как скалярное значение, равное сумме квадратов ошибок. evaluation
очень близко к нулю, указывая, что тестовые данные dependentVariable
почти совпадают с линейной функцией. Обратите внимание на то, что точность машины может влиять на значение evaluation
в таких маленьких значениях.
Введенный в R2017b