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

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

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

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

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

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

  1. В инструменте Response Optimization, в 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 Optimization, смотрите, Добавляют Параметры модели как Переменные для Оптимизации.

  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 Optimization.

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

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

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

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

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

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

  1. В инструменте Response Optimization, в 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 Optimization, смотрите, Добавляют Параметры модели как Переменные для Оптимизации.

  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 Optimization.

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

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

  1. Инструмент In Response Optimization, от 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. Вектор независимой переменной nth задает координаты по измерению 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 Optimization, в 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 Optimization, смотрите, Добавляют Параметры модели как Переменные для Оптимизации.

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

  3. Нажмите OK.

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

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

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

  1. В инструменте Response Optimization, в 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 Optimization, смотрите, Добавляют Параметры модели как Переменные для Оптимизации.

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

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

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

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

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

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

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

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

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

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

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте