В оптимизаторе отклика можно задать следующие ограничения для параметров модели Simulink ®, которые указаны как переменные:
Монотонная переменная - наложение требования монотонного ограничения на переменную
Ограничение сглаживания - наложение верхней границы на величину градиента переменной
Соответствие функций - задание ограничения соответствия линейных или квадратичных функций
Свойство вектора - указание требования к свойству вектора
Реляционное ограничение - наложение реляционного ограничения между двумя переменными
Сведения о том, как задать параметр модели в качестве переменной, см. в разделе Добавление параметров модели в качестве переменных для оптимизации. После задания ограничений можно проверить, удовлетворяются ли требования, оптимизируя конструктивные переменные. Дополнительные сведения см. в разделе Определение параметров оптимизации.
В модели Simulink можно наложить требование монотонного ограничения на конструктивную переменную. Например, ограничьте монотонное увеличение переменной. Переменная может быть вектором, матрицей или многомерным массивом, который является параметром модели, например точками останова таблицы подстановки.
Чтобы указать требование, выполните следующие действия.
В раскрывающемся меню «Создать» оптимизатора ответа выберите «Монотонная переменная».

В диалоговом окне «Создание требования» укажите требование.

Укажите имя требования в поле Наименование (Name).
Укажите имя переменной в поле «Переменная». Переменная должна быть вектором, матрицей или многомерным массивом типа данных double или single.
Можно ввести имя нескалярной переменной или выбрать переменную из выпадающего списка. Список заполняется всеми нескалярными переменными в модели. Выбор подмножества массива или переменной матрицы V, введите выражение. Например, укажите Переменную как V(1,:) для использования первой строки переменной. Использование числового нескалярного поля x структуры S, тип S.x. Нельзя использовать такие математические выражения, как a + b.
Иногда модели имеют параметры, которые явно не определены в самой модели. Например, коэффициент усиления k может быть определен в рабочей области MATLAB ® как k = a + b, где a и b не определены в модели, но k используется. Чтобы добавить эти независимые параметры в качестве переменных в оптимизатор отклика, см. раздел Добавление параметров модели в качестве переменных для оптимизации.
Укажите монотонность для каждого измерения переменной.
После выбора переменной в диалоговом окне отобразятся размеры 1 и n, соответствующие n размерам переменной. Например, для 2-мерной переменной K размера 3 на 5, диалоговое окно обновляется, как показано на рисунке.

Задайте монотонность для первого размера в измерении 1 и для n-го размера в измерении n в качестве одной из следующих опций.
Strictly increasing - Каждый элемент переменной больше предыдущего элемента в этом измерении.
Increasing - Каждый элемент переменной больше или равен предыдущему элементу в этом измерении.
Decreasing - Каждый элемент переменной меньше или равен предыдущему элементу в этом измерении.
Strictly decreasing - Каждый элемент переменной меньше предыдущего элемента в этом измерении.
Not constrained - между элементами переменной в этом измерении не существует зависимости.
(Необязательно) Чтобы создать график итерации, отображающий вычисленное значение требования для каждой итерации оптимизации, выберите Создать график (Create Plot). График заполняется при выполнении оптимизации. На графике отображается вычисленное значение требования, соответствующее каждому измерению переменной. Положительное значение указывает на нарушение требования.
Нажмите кнопку ОК.
Новая переменная с указанным именем требования появится в области Данные приложения оптимизатор ответа.
Можно наложить верхнюю границу на величину градиента переменной в модели Simulink. Переменная может быть вектором, матрицей или многомерным массивом, который является параметром модели, например данными таблицы подстановки. Например, рассмотрим контроллер двигателя автомобиля, коэффициент усиления которого изменяется при различных рабочих условиях, определяемых скоростью автомобиля. Ограничение границы градиента можно использовать для ограничения скорости изменения коэффициента усиления контроллера за единицу изменения скорости транспортного средства.
Для N-мерной переменной F это функция независимых переменных x1,..., xN, величина градиента определяется как:
∂F∂xN) 2
Для вычисления величины градиента программа вычисляет частную производную в каждом измерении путем вычисления разности между последовательными F данные в этом измерении и деление на интервал между данными в этом измерении. Вы указываете F и интервал между данными. Программа проверяет, является ли величина градиента переменных данных меньшей или равной заданной границе. Если величина градиента данных больше требуемой границы, переменные данные не сглаживаются.
Чтобы указать требование, выполните следующие действия.
В раскрывающемся списке «Новый оптимизатор ответа» выберите «Ограничение сглаживания».

В диалоговом окне «Создание требования» укажите требование.

Укажите имя требования в поле Наименование (Name).
Задайте предел величины градиента как неотрицательный конечный вещественный скаляр в максимальной величине градиента.
Укажите переменную F , на которую требуется наложить требование в Зависимой переменной. Переменная должна быть вектором, матрицей или многомерным массивом типа данных double или single. Переменная должна быть параметром в модели или вводимой константой.
Можно ввести имя нескалярной переменной или константы или выбрать переменную из выпадающего списка. Список заполняется всеми нескалярными переменными в модели. Выбор подмножества массива или переменной матрицы V, введите выражение. Например, укажите Переменную как V(1,:) для использования первой строки переменной. Использование числового нескалярного поля x структуры S, тип S.x. Нельзя использовать такие математические выражения, как a + b.
Иногда модели имеют параметры, которые явно не определены в самой модели. Например, коэффициент усиления k может быть определен в рабочей области MATLAB как k = a + b, где a и b не определены в модели, но k используется. Чтобы добавить эти независимые параметры в качестве переменных в оптимизатор отклика, см. раздел Добавление параметров модели в качестве переменных для оптимизации.
Укажите интервал между точками данных зависимой переменной в каждом измерении в независимой переменной.
После выбора Зависимая переменная (Dependent Variable) диалоговое окно обновляется, в нем отображается значение Размерность (Dimension) 1 значение Размерность (Dimension) n, соответствующее n размерам зависимой переменной. Например, для одномерной переменной K, диалоговое окно обновляется, как показано на рисунке.

Первый размер определяет интервал между строками зависимых переменных данных, а второй - интервал между столбцами. N-й размер определяет интервал вдоль N-го размера зависимых переменных данных. Можно указать независимые переменные в каждом измерении как скаляры или векторы.
Скаляры - указывает интервал между зависимыми переменными данными F в соответствующем измерении как ненулевой скаляр. Например, предположим, что зависимая переменная является двумерной, а интервал между данными в первом измерении равен 5 и во втором измерении 2. В разделе «Независимая переменная» задайте размер 1 как 5 и Измерение 2 как 2.
Векторы (Vectors) - укажите координаты F данные в соответствующем измерении в виде вещественных, числовых, монотонных векторов. Программа использует координаты для вычисления интервала между зависимыми переменными точками данных в соответствующем измерении. Длина вектора должна соответствовать длине F в соответствующем измерении. Нет необходимости задавать координаты с равномерным интервалом. Например, предположим, что F является двумерным, а длина данных в первом и втором измерениях равна 3 и 5соответственно. Координаты данных в первом измерении: [1 2 3]. Во втором измерении интервал не одинаков, и координаты данных равны [1 2 10 20 30]. В разделе «Независимая переменная» задайте размер 1 как [1 2 3] и Измерение 2 как [1 2 10 20 30].
Можно также указать независимые переменные, введя имя переменной или выбрав переменную из раскрывающегося списка. Список заполняется всеми переменными модели, имеющими соответствующий размер. Выбор подмножества массива или переменной матрицы V, введите выражение. Например, укажите как V(1,:) для использования первой строки переменной. Использование числового поля x структуры S, тип S.x. Нельзя использовать такие математические выражения, как a + b.
(Необязательно) Чтобы создать график итерации, отображающий вычисленное значение требования для каждой итерации оптимизации, выберите Создать график (Create Plot). График заполняется при выполнении оптимизации. Положительное значение указывает на нарушение требования.
Нажмите кнопку ОК.
Новая переменная с указанным именем требования появится в области Данные оптимизатора ответа.
В приложении можно ограничить значения переменной, чтобы они соответствовали линейной или квадратичной функции. Переменная может быть вектором, матрицей или многомерным массивом, который является параметром в модели, например данными таблицы подстановки в модели. Чтобы указать требование, выполните следующие действия.
В окне «Оптимизатор ответа» в раскрывающемся списке «Создать» выберите «Соответствие функций».

В диалоговом окне «Создание требования» укажите требование. Новое требование с именем, указанным в поле Наименование (Name), появится в области Требования (Requirements) приложения.

Укажите функцию для сопоставления. Для этого установите Функциональное отношение (Functional Relation) в одно из следующих значений.
Linear - Данные из переменной V соответствуют линейной функции. Например, для двумерной переменной с независимыми переменными, X1 и X2, линейная функция имеет вид:
+ a2X2
Программа вычисляет коэффициенты соответствия a0, a1, и a2 и затем вычисляет сумму квадратов ошибки между данными и линейной функцией.
Quadratic with no cross-terms - Данные соответствуют квадратичной функции без перекрестных членов. Для двумерной переменной чистая квадратичная функция имеет вид:
a3X2 + a4X22
Quadratic with all cross-terms - Переменные данные соответствуют квадратичной функции, которая включает перекрестные термины. Для двумерной переменной квадратичная функция имеет вид:
a4X22 + a5X1X2
Если переменная является одномерной, перекрестных членов нет, и поэтому вычисление будет таким же, как при функциональном отношении Quadratic with no cross-terms.
Укажите переменную V к которому требуется применить требование в Зависимой переменной. Переменная должна быть вектором, матрицей или многомерным массивом типа данных double или single это параметр в модели.
Введите имя нескалярной переменной или выберите переменную из раскрывающегося списка. Список заполняется всеми нескалярными переменными в модели. Чтобы увидеть, где выбранная переменная используется в модели, щелкните Показать в модели (Show in Model). Выбор подмножества массива или переменной матрицы A, введите выражение. Например, укажите A(1,:) для использования первой строки переменной. Использование числового нескалярного поля x структуры S, тип S.x. Нельзя использовать такие математические выражения, как a + b.
Иногда модели имеют параметры, которые явно не определены в самой модели. Например, коэффициент усиления k может быть определен в рабочей области MATLAB как k = a + b, где a и b не определены в модели, но k используется. Чтобы добавить эти независимые параметры в качестве конструктивных переменных в приложении, см. раздел Добавление параметров модели в качестве переменных для оптимизации.
Укажите векторы независимых переменных, используемые для вычисления функции в независимой переменной. Независимые переменные определяются как вещественные, числовые, монотонные векторы.
Число независимых переменных должно равняться количеству измерений зависимой переменной V. Например, при задании двух независимых переменных V является матрицей и использует три независимые переменные, когда V является трехмерным. Первый вектор независимой переменной определяет координаты вниз по строкам Vи второй независимый вектор переменной задает координаты, проходящие по столбцам V. n-й вектор независимой переменной задает координаты вдоль n-го размера V. Количество элементов в каждом векторе независимой переменной должно соответствовать размеру V в соответствующем измерении. Независимые переменные векторы должны быть монотонно увеличивающимися или уменьшающимися.
Можно также указать независимые переменные, введя имя переменной или выбрав переменную из раскрывающегося списка. Список заполняется всеми переменными модели, имеющими соответствующий размер. Выбор подмножества массива или переменной матрицы A, введите выражение. Например, укажите A(1,:) для использования первой строки переменной. Использование числового поля x структуры S, тип S.x. Нельзя использовать такие математические выражения, как a + b. Чтобы использовать равноотстоящий вектор, выберите [1 2 ...N] из раскрывающегося меню.
Укажите, требуется ли центрировать и масштабировать независимые переменные. При выборе опции Независимые переменные центра и масштаба (Center and scale independent variables) указанные векторы независимых переменных делятся на значение масштаба после вычитания значения центра. Центрирование может улучшить численное кондиционирование, когда один или несколько независимых переменных векторов имеют среднее значение, которое отличается от 0 на несколько порядков величины. Масштабирование может улучшить численное кондиционирование, когда независимые переменные векторы отличаются друг от друга на несколько порядков величины.
Чтобы задать значения центра и масштаба для каждой независимой переменной, разверните раздел «Параметры центра и масштаба» и выберите одно из следующих значений.
Использовать автоматические центры и шкалы - значения центра и шкалы являются средним и стандартным отклонением для каждой независимой переменной. Использование среднего и стандартного значений отклонения для центрирования и масштабирования независимых переменных является опцией по умолчанию.
Использовать пользовательские центры и масштабы - укажите значения центра и масштаба для каждой независимой переменной. После вычитания значения, указанного в поле «Центр», векторы независимых переменных делятся на соответствующее значение «Масштаб».
(Необязательно) Выберите опцию Создать график (Create Plot), чтобы создать график итерации, отображающий вычисленное значение требования для каждой итерации оптимизации. Программное обеспечение вычисляет сигнал ошибки, который представляет собой разность между данными зависимой переменной и указанной функцией независимых переменных. Сумма квадратов этой ошибки выводится на печать при выполнении оптимизации. Положительное значение указывает, что требование было нарушено, и 0 значение указывает, что требование удовлетворено. Чем ближе значение 0, чем лучше соответствие между функцией и зависимыми переменными данными.
Закройте диалоговое окно Создать требование (Create Requirement).
Требование, созданное в области Требования приложения, обновляется с помощью указанных признаков.
Можно задать требование для свойства вектора, например среднее значение вектора. Вектор должен быть параметром в модели. Чтобы указать требование, выполните следующие действия.
В раскрывающемся списке «Новый оптимизатор ответа» выберите «Свойство вектора».

В диалоговом окне «Создание требования» укажите требование.

Укажите имя требования в поле Наименование (Name).
Укажите свойство вектора в свойстве. Для вектора V с N элементами можно задать одно из следующих свойств:
Vector mean - среднее значение (V)
Vector median - медиана (V)
Vector variance - отклонение (V)
Vector inter-quartile range - Разница между 75-м и 25-м процентилями векторных значений.
Vector sum - )
Vector sum of squares - 2
Vector sum of absolute values - |
Vector minimum - мин (V)
Vector maximum - макс. (В)
Укажите тип требования, которое требуется применить к свойству вектора в поле «Тип». Можно задать верхнюю или нижнюю границу для свойства вектора или потребовать, чтобы свойство равнялось определенному значению. Можно также выбрать максимальное или минимальное значение свойства вектора. Например, чтобы максимизировать среднее значение вектора, задайте Свойство как Vector mean и введите как Maximize the property.
Укажите значение границы, наложенной на свойство вектора в поле «Граница». Укажите границу как конечное вещественное скалярное значение. Например, если для векторной переменной V требуется mean(V) = 5, укажите свойство как Vector mean, Введите как Constrain property to be == the bound, и Привязать как 5.
Укажите имя переменной в поле «Переменная». Переменная должна быть вектором, матрицей или многомерным массивом типа данных double или single.
Можно ввести имя нескалярной переменной или выбрать переменную из выпадающего списка. Список заполняется всеми нескалярными переменными в модели. Выбор подмножества массива или переменной матрицы V, введите выражение. Например, укажите Переменную как V(1,:) для использования первой строки переменной. Использование числового нескалярного поля x структуры S, тип S.x. Нельзя использовать такие математические выражения, как a + b.
Иногда модели имеют параметры, которые явно не определены в самой модели. Например, коэффициент усиления k может быть определен в рабочей области MATLAB как k = a + b, где a и b не определены в модели, но k используется. Чтобы добавить эти независимые параметры в качестве переменных в оптимизатор отклика, см. раздел Добавление параметров модели в качестве переменных для оптимизации.
(Необязательно) Чтобы создать график итерации, отображающий вычисленное значение требования для каждой итерации оптимизации, выберите Создать график (Create Plot). График заполняется при выполнении оптимизации. Положительное значение указывает на нарушение требования.
Нажмите кнопку ОК.
Новая переменная с указанным именем требования появится в области Данные приложения оптимизатор ответа.
Требование реляционного ограничения можно наложить на пару переменных в модели Simulink. Например, требуется, чтобы переменная a всегда была больше переменной b. Чтобы указать требование, выполните следующие действия.
В раскрывающемся списке Создать оптимизатора ответа выберите Реляционное ограничение.

В диалоговом окне «Создание требования» укажите требование.

Укажите имя требования в поле Наименование (Name).
Укажите имя двух переменных в поле Переменная (Variable). Переменные могут быть векторами или массивами, но должны иметь одинаковый размер.
Введите имена двух переменных или выберите переменные из раскрывающихся списков. Списки предварительно заполняются всеми переменными в модели. Чтобы увидеть, где в модели используется выбранная переменная, щелкните Показать в модели (Show in Model). Выбор подмножества массива или переменной матрицы V, введите выражение. Например, укажите Переменную как V(1,:) для использования первой строки переменной. Использование числового поля x структуры S, тип S.x. Нельзя использовать такие математические выражения, как a + b.
Иногда модели имеют параметры, которые явно не определены в самой модели. Например, коэффициент усиления k может быть определен в рабочей области MATLAB как k = a + b, где a и b не определены в модели, но k используется. Чтобы добавить эти независимые параметры в качестве переменных в оптимизатор отклика, см. раздел Добавление параметров модели в качестве переменных для оптимизации.
В разделе Отношение (Relationship) укажите отношение между элементами двух переменных как одно из следующих:
'<' - Каждый элемент данных в первой переменной меньше, чем соответствующий элемент во второй переменной.
'<=' - Каждый элемент данных в первой переменной меньше или равен соответствующему элементу во второй переменной.
'>' - Каждый элемент данных в первой переменной больше, чем соответствующий элемент во второй переменной.
'>=' - Каждый элемент данных в первой переменной больше или равен соответствующему элементу во второй переменной.
'==' - Каждый элемент данных в первой переменной равен соответствующему элементу во второй переменной.
'~=' - Каждый элемент данных в первой переменной не равен соответствующему элементу во второй переменной.
(Необязательно) Чтобы создать график итерации, отображающий вычисленное значение требования для каждой итерации оптимизации, выберите Создать график (Create Plot). График заполняется при выполнении оптимизации. На графике показано оцененное значение требования, соответствующее каждому элементу переменных. Интерпретация оцененного значения потребности зависит от типа потребности.
| Напечатать | Оцененное значение требования | |
|---|---|---|
| Требование удовлетворено | Требование нарушено | |
'>' или '<' | Отрицательное число | Положительное число или 0 если элементы равны |
'>=' или '<=' | Отрицательное число или 0 если элементы равны | Положительное число |
'==' | 0 | Ненулевое число |
'~=' | 0 | 1 |
Нажмите кнопку ОК.
Новая переменная с указанным именем требования появится в области Данные приложения оптимизатор ответа.