Задайте переменные требования в приложении

В Response Optimizer можно задать следующие ограничения на Simulink® параметры модели, которые заданы как переменные:

Для получения информации о том, как задать параметр модели как переменную, смотрите, Добавляют Параметры модели как Переменные для Оптимизации. После того, как вы задаете ограничения, вы видите, удовлетворяют ли требованиям путем оптимизации переменных проекта. Для получения дополнительной информации смотрите, Задают Опции Оптимизации.

Наложите монотонное ограничительное требование к переменной

Можно наложить монотонное ограничительное требование к переменной проекта в модели Simulink. Например, ограничьте переменную монотонно увеличиваться. Переменная может быть вектором, матрицей или многомерным массивом, который является параметром в вашей модели, такой как точки останова интерполяционной таблицы.

Задавать требование:

  1. В Response Optimizer, в New выпадающее меню, выбирают Monotonic Variable.

    В диалоговом окне Create Requirement задайте требование.

  2. Задайте имя требования в Name.

  3. Задайте имя переменной в Variable. Переменная должна быть вектором, матрицей или многомерным массивом типа данных double или single.

    Можно ввести имя нескалярной переменной или выбрать переменную из выпадающего списка. Список предварительно заполняется со всеми нескалярными переменными в вашей модели. Выбрать подмножество массива или матричной переменной V, введите выражение. Например, задайте Variable как V(1,:) использовать первую строку переменной. Использовать числовое нескалярное поле x из структуры S, введите S.x. Вы не можете использовать математические выражения, такие как   a + b.

    Иногда, модели имеют параметры, которые явным образом не заданы в самой модели. Например, усиление k мог быть задан в MATLAB®  рабочая область как k = a + b, где a и b не заданы в модели, но k используется. Чтобы добавить эти независимые параметры как переменные в Response Optimizer, смотрите, Добавляют Параметры модели как Переменные для Оптимизации.

  1. Задайте монотонность для каждой размерности переменной.

    После того, как вы выбираете переменную, диалоговые обновления, чтобы показать Dimension 1 Dimension n, соответствуя размерностям n переменной. Например, для 2-мерной переменной K из размера 3 на 5, диалоговое окно обновляется как показано.

    Задайте монотонность для первой размерности в Dimension 1 и для nth- размерность в Dimension n как одна из следующих опций:

    • Strictly increasing — Каждый элемент переменной больше предыдущего элемента в этом измерении.

    • Increasing — Каждый элемент переменной больше или равен предыдущему элементу в этом измерении.

    • Decreasing — Каждый элемент переменной меньше чем или равен предыдущему элементу в этом измерении.

    • Strictly decreasing — Каждый элемент переменной меньше предыдущего элемента в этом измерении.

    • Not constrained — Никакое ограничение не существует между элементами переменной в той размерности.

  1. (Необязательно), Чтобы создать график итерации, который показывает оцененное значение требования для каждой итерации оптимизации, выберите Create Plot. График заполняется, когда вы выполняете оптимизацию. График показывает оцененное значение требования, соответствующее каждой размерности переменной. Положительное значение указывает, что требование было нарушено.

  2. Нажмите OK.

    Новая переменная, с заданным именем требования, появляется в области Data приложения Response Optimizer.

Наложите верхнюю границу на величину градиента переменной

Можно наложить верхнюю границу на величину градиента переменной в модели Simulink. Переменная может быть вектором, матрицей или многомерным массивом, который является параметром в вашей модели, такой как данные интерполяционной таблицы. Например, рассмотрите автомобильный контроллер механизма, усиление которого изменяется под различными условиями работы, определенными автомобильной скоростью. Можно использовать связанное ограничение градиента, чтобы ограничить уровень, на котором усиление контроллера изменяется на модульное изменение в скорости транспортного средства.

Для N - размерная переменная F это - функция независимых переменных x1..., xN, величина градиента задана как:

|F|=(Fx1)2+(Fx2)2++(FxN)2

Чтобы вычислить величину градиента, программное обеспечение вычисляет частную производную в каждой размерности путем вычисления различия между последовательным F данные в той размерности и делении на интервал между данными в той размерности. Вы задаете F и интервал между данными. Программное обеспечение проверяет, меньше чем или равна ли величина градиента переменных данных связанному заданному. Если величина градиента данных больше связанного необходимого, переменные данные не являются гладкими.

Задавать требование:

  1. В Response Optimizer, в New выпадающий список, выбирают Smoothness Constraint.

    В диалоговом окне Create Requirement задайте требование.

  2. Задайте имя требования в Name.

  3. Задайте величину градиента, связанную как неотрицательный конечный действительный скаляр в Gradient maximum magnitude.

  4. Задайте переменную F то, что вы хотите наложить требование к в Dependent Variable. Переменная должна быть вектором, матрицей или многомерным массивом типа данных double или single. Переменная должна быть параметром в вашей модели или константе, которую вы вводите.

    Можно ввести имя нескалярного переменного или постоянного, или выбрать переменную из выпадающего списка. Список предварительно заполняется со всеми нескалярными переменными в вашей модели. Выбрать подмножество массива или матричной переменной V, введите выражение. Например, задайте Variable как V(1,:) использовать первую строку переменной. Использовать числовое нескалярное поле x из структуры S, введите S.x. Вы не можете использовать математические выражения, такие как   a + b.

    Иногда, модели имеют параметры, которые явным образом не заданы в самой модели. Например, усиление k мог быть задан в рабочем пространстве MATLAB как k = a + b, где a и b не заданы в модели, но k используется. Чтобы добавить эти независимые параметры как переменные в Response Optimizer, смотрите, Добавляют Параметры модели как Переменные для Оптимизации.

  1. Задайте интервал между точками данных 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.

  1. (Необязательно), Чтобы создать график итерации, который показывает оцененное значение требования для каждой итерации оптимизации, выберите Create Plot. График заполняется, когда вы выполняете оптимизацию. Положительное значение указывает, что требование было нарушено.

  2. Нажмите OK.

    Новая переменная, с заданным именем требования, появляется в области Data Response Optimizer.

Задайте линейное или квадратичное ограничение соответствия функции

В приложении можно ограничить значения переменной совпадать с линейной или квадратичной функцией. Переменная может быть вектором, матрицей или многомерным массивом, который является параметром в вашей модели, такой как данные интерполяционной таблицы в вашей модели. Задавать требование:

  1. В Response Optimizer, от New выпадающий список, выбирают Function Matching.

    В диалоговом окне Create Requirement задайте требование. Новое требование с именем, заданным в Name, появляется в области Requirements приложения.

  2. Задайте функцию, которая будет соответствующей. Для этого установите Functional Relation на одно из следующих значений:

    • Linear — Данные из переменной V являются подходящими к линейной функции. Например, для двумерной переменной с независимыми переменными, X1 и X2, линейная функция имеет форму:

      V=a0+a1X1+a2X2

      Программное обеспечение вычисляет подходящие коэффициенты a0, a1, и a2 и затем вычисляет сумму квадратов ошибки между данными и линейной функцией.

    • Quadratic with no cross-terms — Данные являются подходящими к квадратичной функции без перекрестных терминов. Для двумерной переменной функция неполного квадратного уравнения имеет форму:

      V=a0+a1X1+a2X12+a3X2+a4X22

    • Quadratic with all cross-terms — Переменные данные являются подходящими к квадратичной функции, которая включает перекрестные термины. Для двумерной переменной квадратичная функция имеет форму:

      V=a0+a1X1+a2X12+a3X2+a4X22+a5X1X2

      Если переменная одномерна, нет никаких перекрестных терминов и таким образом, расчет эквивалентен, когда Functional relation является Quadratic with no cross-terms.

  3. Задайте переменную 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 используется. Чтобы добавить эти независимые параметры как переменные проекта в приложении, смотрите, Добавляют Параметры модели как Переменные для Оптимизации.

  4. Задайте векторы независимой переменной, используемые в вычислениях функция в Independent Variable. Независимые переменные заданы как действительные, числовые, монотонные векторы.

    Количество независимых переменных должно равняться количеству размерностей зависимой переменной V. Например, вы задаете две независимых переменные когда V матрица, и используйте три независимых переменные когда V 3D. Первый вектор независимой переменной задает координаты, спускающиеся по строкам V, и второй вектор независимой переменной задает координаты, идущие через столбцы Vтоth вектор независимой переменной задает координаты вдоль nth размерность V. Число элементов в каждом векторе независимой переменной должно совпадать с размером V в соответствующей размерности. Векторы независимой переменной должны монотонно увеличиваться или уменьшаться.

    Можно также задать независимые переменные путем введения имени переменной или выбора переменной из выпадающего списка. Список предварительно заполняется со всеми переменными в вашей модели, которые имеют соответствующий размер. Выбрать подмножество массива или матричной переменной A, введите выражение. Например, задайте A(1,:) использовать первую строку переменной. Использовать числовое поле x из структуры S, введите S.x. Вы не можете использовать математические выражения, такие как a + b. Чтобы использовать равномерно распределенный вектор, выберите [1 2 ...N] в выпадающем меню.

  5. Задайте, хотите ли вы сосредоточить и масштабировать независимые переменные. Когда вы выбираете опцию Center and scale independent variables, векторы независимой переменной, которые вы задаете, разделены на значение шкалы после вычитания центрального значения. Центрирование может улучшить числовое создание условий, когда один или несколько векторов независимой переменной имеют среднее значение, которое отличается от 0 несколькими порядками величины. Масштабирование может улучшить числовое создание условий, когда векторы независимой переменной отличаются друг от друга несколькими порядками величины.

    Чтобы задать центр и значения шкалы для каждой независимой переменной, расширьте раздел Center and Scale Settings и выберите одно из следующего:

    • Use automatic centers and scales - Центр и значения шкалы являются средним и стандартным отклонением для каждой независимой переменной. Используя значения среднего и стандартного отклонения, чтобы сосредоточиться и масштабировать независимые переменные опция по умолчанию.

    • Use custom centers and scales - Задайте Center и значения Scale для каждой независимой переменной. Векторы независимой переменной разделены на соответствующее значение Scale после вычитания значения, которое вы задаете в Center.

  6. (Необязательно) Выберите опцию Create Plot, чтобы создать график итерации, который показывает оцененное значение требования для каждой итерации оптимизации. Программное обеспечение вычисляет сигнал ошибки, который является различием между данными о зависимой переменной и заданной функцией независимых переменных. Сумма квадратов этой ошибки построена, когда вы выполняете оптимизацию. Положительное значение указывает, что требование было нарушено, и 0 значение указывает, что требованию удовлетворяют. Ближе значение к 0, лучше соответствие между данными о функциональной и зависимой переменной.

  7. Закройте диалоговое окно Create Requirement.

    Требование, созданное в области Requirements приложения, обновляется с заданными характеристиками.

Задайте требование к векторному свойству

Можно задать требование к векторному свойству, такому как среднее значение вектора. Вектор должен быть параметром в вашей модели. Задавать требование:

  1. В Response Optimizer, в New выпадающий список, выбирают Vector Property.

    В диалоговом окне Create Requirement задайте требование.

  2. Задайте имя требования в Name.

  1. Задайте векторное свойство в Property. Для векторного V с элементами N можно задать одно из следующих свойств:

    • Vector meanmean (V)

    • Vector medianmedian (V)

    • Vector variancevariance (V)

    • Vector inter-quartile range — Различие между 75-ми и 25-ми процентилями векторных значений.

    • Vector sumi=1NV(i)

    • Vector sum of squaresi=1NV(i)2

    • Vector sum of absolute valuesi=1N|V(i)|

    • Vector minimummin (V)

    • Vector maximummax (V)

  2. Задайте тип требования, которое вы хотите наложить на векторное свойство в Type. Можно установить верхнюю или нижнюю границу на векторном свойстве или потребовать свойства равняться особому значению. Можно также принять решение максимизировать или минимизировать векторное свойство. Например, чтобы максимизировать среднее значение вашего вектора, задайте Property как Vector mean и Type как Maximize the property.

  3. Задайте значение связанного, наложенного на векторное свойство в Bound. Задайте связанное как конечное действительное скалярное значение. Например, если для векторной переменной V вы требуете mean(V) = 5, задайте Property как Vector mean, Type как Constrain property to be == the bound, и Bound как 5.

  1. Задайте имя переменной в Variable. Переменная должна быть вектором, матрицей или многомерным массивом типа данных double или single.

    Можно ввести имя нескалярной переменной или выбрать переменную из выпадающего списка. Список предварительно заполняется со всеми нескалярными переменными в вашей модели. Выбрать подмножество массива или матричной переменной V, введите выражение. Например, задайте Variable как V(1,:) использовать первую строку переменной. Использовать числовое нескалярное поле x из структуры S, введите S.x. Вы не можете использовать математические выражения, такие как   a + b.

    Иногда, модели имеют параметры, которые явным образом не заданы в самой модели. Например, усиление k мог быть задан в рабочем пространстве MATLAB как k = a + b, где a и b не заданы в модели, но k используется. Чтобы добавить эти независимые параметры как переменные в Response Optimizer, смотрите, Добавляют Параметры модели как Переменные для Оптимизации.

  2. (Необязательно), Чтобы создать график итерации, который показывает оцененное значение требования для каждой итерации оптимизации, выберите Create Plot. График заполняется, когда вы выполняете оптимизацию. Положительное значение указывает, что требование было нарушено.

  3. Нажмите OK.

    Новая переменная, с заданным именем требования, появляется в области Data приложения Response Optimizer.

Наложите реляционное ограничение между двумя переменными

Можно наложить реляционное ограничительное требование к паре переменных в модели Simulink. Например, потребуйте, чтобы переменная a всегда была больше переменной b. Задавать требование:

  1. В Response Optimizer, в New выпадающий список, выбирают Relational Constraint.

    В диалоговом окне Create Requirement задайте требование.

  2. Задайте имя требования в Name.

  3. Задайте имя этих двух переменных в Variable. Переменные могут быть векторами или массивами, но должны быть одного размера.

    Введите имена двух переменных или выберите переменные из выпадающих списков. Списки предварительно заполняются со всеми переменными в вашей модели. Чтобы видеть, где выбранная переменная используется на вашей модели, нажмите Show in Model. Выбрать подмножество массива или матричной переменной V, введите выражение. Например, задайте Variable как V(1,:) использовать первую строку переменной. Использовать числовое поле x из структуры S, введите S.x. Вы не можете использовать математические выражения, такие как   a + b.

    Иногда, модели имеют параметры, которые явным образом не заданы в самой модели. Например, усиление k мог быть задан в рабочем пространстве MATLAB как k = a + b, где a и b не заданы в модели, но k используется. Чтобы добавить эти независимые параметры как переменные в Response Optimizer, смотрите, Добавляют Параметры модели как Переменные для Оптимизации.

  1. Задайте отношение между элементами этих двух переменных как одно из следующего в Relationship:

    • '<' — Каждый элемент данных в первой переменной меньше соответствующего элемента во второй переменной.

    • '<=' — Каждый элемент данных в первой переменной меньше чем или равен соответствующему элементу во второй переменной.

    • '>' — Каждый элемент данных в первой переменной больше соответствующего элемента во второй переменной.

    • '>=' — Каждый элемент данных в первой переменной больше или равен соответствующему элементу во второй переменной.

    • '==' — Каждый элемент данных в первой переменной равен соответствующему элементу во второй переменной.

    • '~=' — Каждый элемент данных в первой переменной не равен соответствующему элементу во второй переменной.

  1. (Необязательно), Чтобы создать график итерации, который показывает оцененное значение требования для каждой итерации оптимизации, выберите Create Plot. График заполняется, когда вы выполняете оптимизацию. График показывает оцененное значение требования, соответствующее каждому элементу переменных. Интерпретация оцененного значения требования зависит от требования Type.

    Type Оцененное значение требования
    Требованию УдовлетворяютТребование Нарушено
    '>' или '<'Отрицательное числоПоложительное число или 0 если элементы равны
    '>=' или '<='Отрицательное число или 0 если элементы равныПоложительное число
    '=='0Ненулевой номер
    '~='01
  2. Нажмите OK.

    Новая переменная, с заданным именем требования, появляется в области Data приложения Response Optimizer.

Похожие темы