В инструменте Response Optimization можно задать следующие ограничения на параметры модели Simulink®, которые заданы как переменные:
Monotonic Variable — Наложите монотонное ограничительное требование к переменной
Smoothness Constraint — Наложите верхнюю границу на величину градиента переменной
Function Matching — Задайте линейное или квадратичное ограничение соответствия функции
Vector Property — Задайте требование к векторному свойству
Relational Constraint — Наложите реляционное ограничение между двумя переменными
Для получения информации о том, как задать параметр модели как переменную, смотрите, Добавляют Параметры модели как Переменные для Оптимизации. После того, как вы задаете ограничения, вы видите, удовлетворяют ли требованиям путем оптимизации переменных проекта. Для получения дополнительной информации смотрите, Задают Опции Оптимизации.
Можно наложить монотонное ограничительное требование к переменной проекта в модели Simulink. Например, ограничьте переменную монотонно увеличиваться. Переменная может быть вектором, матрицей или многомерным массивом, который является параметром в вашей модели, такой как точки останова интерполяционной таблицы.
Задавать требование:
В инструменте Response Optimization, в New выпадающее меню, выбирают Monotonic Variable.
В диалоговом окне Create Requirement задайте требование.
Задайте имя требования в Name.
Задайте имя переменной в Variable. Переменная должна быть вектором, матрицей или многомерным массивом типа данных double
или single
.
Можно ввести имя нескалярной переменной или выбрать переменную из выпадающего списка. Список предварительно заполняется со всеми нескалярными переменными в вашей модели. Выбрать подмножество массива или матричной переменной V
, введите выражение. Например, задайте Variable как V(1,:)
использовать первую строку переменной. Использовать числовое нескалярное поле x
из структуры S
, введите S.x
. Вы не можете использовать математические выражения, такие как a + b
.
Иногда, модели имеют параметры, которые явным образом не заданы в самой модели. Например, усиление k
мог быть задан в рабочей области MATLAB® как k = a + b
, где a
и b
не заданы в модели, но k
используется. Чтобы добавить эти независимые параметры как переменные в инструменте Response Optimization, смотрите, Добавляют Параметры модели как Переменные для Оптимизации.
Задайте монотонность для каждой размерности переменной.
После того, как вы выбираете переменную, диалоговые обновления, чтобы показать Dimension 1 Dimension n, соответствуя размерностям n переменной. Например, для 2-мерной переменной K
из размера 3 на 5, диалоговое окно обновляется как показано.
Задайте монотонность для первой размерности в Dimension 1 и для nth - размерность в Dimension n как одна из следующих опций:
Strictly increasing
— Каждый элемент переменной больше предыдущего элемента в этом измерении.
Increasing
— Каждый элемент переменной больше или равен предыдущему элементу в этом измерении.
Decreasing
— Каждый элемент переменной меньше чем или равен предыдущему элементу в этом измерении.
Strictly decreasing
— Каждый элемент переменной меньше предыдущего элемента в этом измерении.
Not constrained
— Никакое ограничение не существует между элементами переменной в той размерности.
(Необязательно), Чтобы создать график итерации, который показывает оцененное значение требования для каждой итерации оптимизации, выберите Create Plot. График заполняется, когда вы выполняете оптимизацию. График показывает оцененное значение требования, соответствующее каждой размерности переменной. Положительное значение указывает, что требование было нарушено.
Нажмите OK.
Новая переменная, с заданным именем требования, появляется в области Data инструмента Response Optimization.
Можно наложить верхнюю границу на величину градиента переменной в модели Simulink. Переменная может быть вектором, матрицей или многомерным массивом, который является параметром в вашей модели, такой как данные интерполяционной таблицы. Например, рассмотрите автомобильный контроллер механизма, усиление которого изменяется под различными условиями работы, определенными автомобильной скоростью. Можно использовать связанное ограничение градиента, чтобы ограничить уровень, на котором усиление контроллера изменяется на модульное изменение в скорости транспортного средства.
Для N - размерная переменная F
это - функция независимых переменных x1
..., xN
, величина градиента задана как:
Чтобы вычислить величину градиента, программное обеспечение вычисляет частную производную в каждой размерности путем вычисления различия между последовательным F
данные в той размерности и делении на интервал между данными в той размерности. Вы задаете F
и интервал между данными. Программное обеспечение проверяет, меньше чем или равна ли величина градиента переменных данных связанному заданному. Если величина градиента данных больше связанного необходимого, переменные данные не являются гладкими.
Задавать требование:
В инструменте Response Optimization, в New выпадающий список, выбирают Smoothness Constraint.
В диалоговом окне Create Requirement задайте требование.
Задайте имя требования в Name.
Задайте величину градиента, связанную как неотрицательный конечный действительный скаляр в Gradient maximum magnitude.
Задайте переменную F
то, что вы хотите наложить требование к в Dependent Variable. Переменная должна быть вектором, матрицей или многомерным массивом типа данных double
или single
. Переменная должна быть параметром в вашей модели или константе, которую вы вводите.
Можно ввести имя нескалярного переменного или постоянного, или выбрать переменную из выпадающего списка. Список предварительно заполняется со всеми нескалярными переменными в вашей модели. Выбрать подмножество массива или матричной переменной V
, введите выражение. Например, задайте Variable как V(1,:)
использовать первую строку переменной. Использовать числовое нескалярное поле x
из структуры S
, введите S.x
. Вы не можете использовать математические выражения, такие как a + b
.
Иногда, модели имеют параметры, которые явным образом не заданы в самой модели. Например, усиление k
мог быть задан в рабочем пространстве MATLAB как k = a + b
, где a
и b
не заданы в модели, но k
используется. Чтобы добавить эти независимые параметры как переменные в инструменте Response Optimization, смотрите, Добавляют Параметры модели как Переменные для Оптимизации.
Задайте интервал между точками данных Dependent Variable в каждой размерности в Independent Variable.
После того, как вы выбираете Dependent Variable, диалоговые обновления, чтобы показать Dimension 1 Dimension n, соответствуя размерностям n зависимой переменной. Например, для 1-мерной переменной K
, диалоговое окно обновляется как показано.
Первая размерность задает интервал, спускающийся по строкам данных о зависимой переменной, и второе задает интервал через столбцы. N th размерность задает интервал вдоль N th размерность данных о зависимой переменной. Можно задать независимые переменные в каждой размерности как скаляры или векторы.
Скаляры — Задают интервал между данными о зависимой переменной F
в соответствующей размерности как ненулевой скаляр. Например, предположите, что Dependent Variable двумерен, и интервалом между данными в первой размерности является 5
и во втором измерении 2
. В разделе Independent Variable задайте Dimension 1 как 5
и Dimension 2 как 2
.
Векторы — Задают координаты F
данные в соответствующей размерности как действительные, числовые, монотонные векторы. Программное обеспечение использует координаты, чтобы вычислить интервал между точками данных зависимой переменной в соответствующей размерности. Длина вектора должна совпадать с длиной F
в соответствующей размерности. Вы не должны задавать координаты с универсальным интервалом. Например, предположите тот F
двумерно, и длиной данных в первом и втором измерении является 3
и 5
, соответственно. Координатами данных в первой размерности является [1 2 3]
. Во втором измерении интервал не универсален, и координатами данных является [1 2 10 20 30]
. В разделе Independent Variable задайте Dimension 1 как [1 2 3]
и Dimension 2 как [1 2 10 20 30]
.
Можно также задать независимые переменные путем введения имени переменной или выбора переменной из выпадающего списка. Список предварительно заполняется со всеми переменными в вашей модели, которые имеют соответствующий размер. Выбрать подмножество массива или матричной переменной V
, введите выражение. Например, задайте как V(1,:)
использовать первую строку переменной. Использовать числовое поле x
из структуры S
, введите S.x
. Вы не можете использовать математические выражения, такие как a + b
.
(Необязательно), Чтобы создать график итерации, который показывает оцененное значение требования для каждой итерации оптимизации, выберите Create Plot. График заполняется, когда вы выполняете оптимизацию. Положительное значение указывает, что требование было нарушено.
Нажмите OK.
Новая переменная, с заданным именем требования, появляется в области Data инструмента Response Optimization.
В инструменте можно ограничить значения переменной совпадать с линейной или квадратичной функцией. Переменная может быть вектором, матрицей или многомерным массивом, который является параметром в вашей модели, такой как данные интерполяционной таблицы в вашей модели. Задавать требование:
Инструмент In Response Optimization, от New выпадающий список, выбирает Function Matching.
В диалоговом окне Create Requirement задайте требование. Новое требование с именем, заданным в Name, появляется в области Requirements инструмента.
Задайте функцию, которая будет соответствующей. Для этого установите Functional Relation на одно из следующих значений:
Linear
— Данные из переменной V
являются подходящими к линейной функции. Например, для двумерной переменной с независимыми переменными, X1
и X2
, линейная функция имеет форму:
Программное обеспечение вычисляет подходящие коэффициенты a0
, a1
, и a2
и затем вычисляет сумму квадратов ошибки между данными и линейной функцией.
Quadratic with no cross-terms
— Данные являются подходящими к квадратичной функции без перекрестных условий. Для двумерной переменной функция неполного квадратного уравнения имеет форму:
Quadratic with all cross-terms
— Переменные данные являются подходящими к квадратичной функции, которая включает перекрестные условия. Для двумерной переменной квадратичная функция имеет форму:
Если переменная одномерна, нет никаких перекрестных условий и таким образом, расчет эквивалентен, когда Functional relation является Quadratic with no cross-terms
.
Задайте переменную V
к которому вы хотите применить требование в Dependent Variable. Переменная должна быть вектором, матрицей или многомерным массивом типа данных double
или single
это - параметр в вашей модели.
Введите имя нескалярной переменной или выберите переменную из выпадающего списка. Список предварительно заполняется со всеми нескалярными переменными в вашей модели. Чтобы видеть, где выбранная переменная используется на вашей модели, нажмите Show in Model. Выбрать подмножество массива или матричной переменной A
, введите выражение. Например, задайте A(1,:)
использовать первую строку переменной. Использовать числовое нескалярное поле x
из структуры S
, введите S.x
. Вы не можете использовать математические выражения, такие как a + b
.
Иногда модели имеют параметры, которые явным образом не заданы в самой модели. Например, усиление k
мог быть задан в рабочем пространстве MATLAB как k = a + b
, где a
и b
не заданы в модели, но k
используется. Чтобы добавить эти независимые параметры как переменные проекта в инструменте, смотрите, Добавляют Параметры модели как Переменные для Оптимизации.
Задайте векторы независимой переменной, используемые в вычислениях функция в Independent Variable. Независимые переменные заданы как действительные, числовые, монотонные векторы.
Количество независимых переменных должно равняться количеству размерностей зависимой переменной V
. Например, вы задаете две независимых переменные когда V
матрица, и используйте три независимых переменные когда V
3D. Первый вектор независимой переменной задает координаты, спускающиеся по строкам V
, и второй вектор независимой переменной задает координаты, идущие через столбцы V
. Вектор независимой переменной nth задает координаты по измерению nth V
. Число элементов в каждом векторе независимой переменной должно совпадать с размером V
в соответствующей размерности. Векторы независимой переменной должны монотонно увеличиваться или уменьшаться.
Можно также задать независимые переменные путем введения имени переменной или выбора переменной из выпадающего списка. Список предварительно заполняется со всеми переменными в вашей модели, которые имеют соответствующий размер. Выбрать подмножество массива или матричной переменной A
, введите выражение. Например, задайте A(1,:)
использовать первую строку переменной. Использовать числовое поле x
из структуры S
, введите S.x
. Вы не можете использовать математические выражения, такие как a + b
. Чтобы использовать равномерно распределенный вектор, выберите [1 2 ...N]
в выпадающем меню.
Задайте, хотите ли вы сосредоточить и масштабировать независимые переменные. Когда вы выбираете опцию Center and scale independent variables, векторы независимой переменной, которые вы задаете, разделены на значение шкалы после вычитания центрального значения. Центрирование может улучшить числовое создание условий, когда один или несколько векторов независимой переменной имеют среднее значение, которое отличается от 0 несколькими порядками величины. Масштабирование может улучшить числовое создание условий, когда векторы независимой переменной отличаются друг от друга несколькими порядками величины.
Чтобы задать центр и значения шкалы для каждой независимой переменной, расширьте раздел Center and Scale Settings и выберите одно из следующего:
Use automatic centers and scales - Центр и значения шкалы являются средним и стандартным отклонением для каждой независимой переменной. Используя значения среднего и стандартного отклонения, чтобы сосредоточиться и масштабировать независимые переменные опция по умолчанию.
Use custom centers and scales - Задайте Center и значения Scale для каждой независимой переменной. Векторы независимой переменной разделены на соответствующее значение Scale после вычитания значения, которое вы задаете в Center.
(Необязательно) Выберите опцию Create Plot, чтобы создать график итерации, который показывает оцененное значение требования для каждой итерации оптимизации. Программное обеспечение вычисляет сигнал ошибки, который является различием между данными о зависимой переменной и заданной функцией независимых переменных. Сумма квадратов этой ошибки построена, когда вы выполняете оптимизацию. Положительное значение указывает, что требование было нарушено, и 0
значение указывает, что требованию удовлетворяют. Ближе значение к 0
, лучше соответствие между данными о функциональной и зависимой переменной.
Закройте диалоговое окно Create Requirement.
Требование, созданное в области Requirements инструмента, обновляется с заданными характеристиками.
Можно задать требование к векторному свойству, такому как среднее значение вектора. Вектор должен быть параметром в вашей модели. Задавать требование:
В инструменте Response Optimization, в New выпадающий список, выбирают Vector Property.
В диалоговом окне Create Requirement задайте требование.
Задайте имя требования в Name.
Задайте векторное свойство в Property. Для векторного V с элементами N можно задать одно из следующих свойств:
Vector mean
— mean (V)
Vector median
— median (V)
Vector variance
— variance (V)
Vector inter-quartile range
— Различие между 75-ми и 25-ми процентилями векторных значений.
Vector sum
—
Vector sum of squares
—
Vector sum of absolute values
—
Vector minimum
— min (V)
Vector maximum
— max (V)
Задайте тип требования, которое вы хотите наложить на векторное свойство в Type. Можно установить верхнюю или нижнюю границу на векторном свойстве или потребовать свойства равняться особому значению. Можно также принять решение максимизировать или минимизировать векторное свойство. Например, чтобы максимизировать среднее значение вашего вектора, задайте Property как Vector mean
и Type как Maximize the property
.
Задайте значение связанного, наложенного на векторное свойство в Bound. Задайте связанное как конечное действительное скалярное значение. Например, если для векторной переменной V вы требуете mean(V) = 5
, задайте Property как Vector mean
, Type как Constrain property to be == the bound
, и Bound как 5
.
Задайте имя переменной в Variable. Переменная должна быть вектором, матрицей или многомерным массивом типа данных double
или single
.
Можно ввести имя нескалярной переменной или выбрать переменную из выпадающего списка. Список предварительно заполняется со всеми нескалярными переменными в вашей модели. Выбрать подмножество массива или матричной переменной V
, введите выражение. Например, задайте Variable как V(1,:)
использовать первую строку переменной. Использовать числовое нескалярное поле x
из структуры S
, введите S.x
. Вы не можете использовать математические выражения, такие как a + b
.
Иногда, модели имеют параметры, которые явным образом не заданы в самой модели. Например, усиление k
мог быть задан в рабочем пространстве MATLAB как k = a + b
, где a
и b
не заданы в модели, но k
используется. Чтобы добавить эти независимые параметры как переменные в инструменте Response Optimization, смотрите, Добавляют Параметры модели как Переменные для Оптимизации.
(Необязательно), Чтобы создать график итерации, который показывает оцененное значение требования для каждой итерации оптимизации, выберите Create Plot. График заполняется, когда вы выполняете оптимизацию. Положительное значение указывает, что требование было нарушено.
Нажмите OK.
Новая переменная, с заданным именем требования, появляется в области Data инструмента Response Optimization.
Можно наложить реляционное ограничительное требование к паре переменных в модели Simulink. Например, потребуйте, чтобы переменная a всегда была больше переменной b. Задавать требование:
В инструменте Response Optimization, в New выпадающий список, выбирают Relational Constraint.
В диалоговом окне Create Requirement задайте требование.
Задайте имя требования в Name.
Задайте имя этих двух переменных в Variable. Переменные могут быть векторами или массивами, но должны быть одного размера.
Введите имена двух переменных или выберите переменные из выпадающих списков. Списки предварительно заполняются со всеми переменными в вашей модели. Чтобы видеть, где выбранная переменная используется на вашей модели, нажмите Show in Model. Выбрать подмножество массива или матричной переменной V
, введите выражение. Например, задайте Variable как V(1,:)
использовать первую строку переменной. Использовать числовое поле x
из структуры S
, введите S.x
. Вы не можете использовать математические выражения, такие как a + b
.
Иногда, модели имеют параметры, которые явным образом не заданы в самой модели. Например, усиление k
мог быть задан в рабочем пространстве MATLAB как k = a + b
, где a
и b
не заданы в модели, но k
используется. Чтобы добавить эти независимые параметры как переменные в инструменте Response Optimization, смотрите, Добавляют Параметры модели как Переменные для Оптимизации.
Задайте отношение между элементами этих двух переменных как одно из следующего в Relationship:
'<'
— Каждый элемент данных в первой переменной меньше соответствующего элемента во второй переменной.
'<='
— Каждый элемент данных в первой переменной меньше чем или равен соответствующему элементу во второй переменной.
'>'
— Каждый элемент данных в первой переменной больше соответствующего элемента во второй переменной.
'>='
— Каждый элемент данных в первой переменной больше или равен соответствующему элементу во второй переменной.
'=='
— Каждый элемент данных в первой переменной равен соответствующему элементу во второй переменной.
'~='
— Каждый элемент данных в первой переменной не равен соответствующему элементу во второй переменной.
(Необязательно), Чтобы создать график итерации, который показывает оцененное значение требования для каждой итерации оптимизации, выберите Create Plot. График заполняется, когда вы выполняете оптимизацию. График показывает оцененное значение требования, соответствующее каждому элементу переменных. Интерпретация оцененного значения требования зависит от требования Type.
Type | Оцененное значение требования | |
---|---|---|
Требованию Удовлетворяют | Требование Нарушено | |
'>' или '<' | Отрицательное число | Положительное число или 0 если элементы равны |
'>=' или '<=' | Отрицательное число или 0 если элементы равны | Положительное число |
'==' | 0
| Ненулевой номер |
'~=' | 0
| 1
|
Нажмите OK.
Новая переменная, с заданным именем требования, появляется в области Data инструмента Response Optimization.