Линейная аппроксимация нелинейных моделей черного ящика

Почему вычисляют линейную аппроксимацию нелинейной модели?

Система управления и линейные аналитические методы с помощью программного обеспечения Control System Toolbox™ требуют линейных моделей. Можно использовать предполагаемую нелинейную модель в этих приложениях после вас линейный модель. После того, как вы будете линеаризовать свою модель, можно использовать модель для системы управления и линейного анализа.

Выбор подхода линейной аппроксимации

Программное обеспечение System Identification Toolbox™ обеспечивает два подхода для вычисления линейной аппроксимации нелинейного ARX и моделей Хаммерстайна-Винера.

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

Если вы хотите приближение касательной нелинейной динамики, которая точна около системной рабочей точки, используйте команду linearize. Получившаяся модель является приближением Ряда Тейлора первого порядка для системы о рабочей точке, которая задана постоянным входом и значениями состояния модели. Для получения дополнительной информации смотрите Линеаризацию Касательной Нелинейных Моделей Черного ящика.

Линейная аппроксимация нелинейных моделей черного ящика для данного входа

linapp вычисляет лучшую линейную аппроксимацию, в смысле среднеквадратичной погрешности, нелинейного ARX или модели Хаммерстайна-Винера для данного входа или случайным образом сгенерированного входа. Получившаяся линейная сила модели только быть допустимыми для того же входного сигнала как вы тот вы раньше генерировали линейную аппроксимацию.

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

Чтобы вычислить линейную аппроксимацию нелинейной модели черного ящика для данного входа, у вас должны быть эти переменные:

  • Нелинейная модель ARX (объект idnlarx) или модель Хаммерстайна-Винера (объект idnlhw)

  • Входной сигнал, для которого вы хотите получить линейную аппроксимацию, заданную как действительная матрица или объект iddata

linapp использует заданный входной сигнал, чтобы вычислить линейную аппроксимацию:

  • Для нелинейных моделей ARX linapp оценивает, что линейная модель ARX с помощью той же модели заказывает na, nb и nk как исходная модель.

  • Поскольку Хаммерстайн-Винер моделирует, linapp оценивает, что линейная модель Output-Error (OE) с помощью той же модели заказывает nb, nf и nk.

Чтобы вычислить линейную аппроксимацию нелинейной модели черного ящика для случайным образом сгенерированного входа, необходимо задать минимальные и максимальные входные значения для генерации бело-шумового входа со значением в этой прямоугольной области значений, umin и umax.

Для получения дополнительной информации смотрите страницу с описанием linapp.

Линеаризация касательной нелинейных моделей черного ящика

linearize вычисляет приближение Ряда Тейлора первого порядка для нелинейной системной динамики о рабочей точке, которая задана постоянным входом и значениями состояния модели. Получившаяся линейная модель точна в локальном окружении этой рабочей точки.

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

  • Нелинейная модель ARX (объект idnlarx) или модель Хаммерстайна-Винера (объект idnlhw)

  • Рабочая точка

Чтобы задать рабочую точку вашей системы, необходимо задать постоянный вход и состояния. Для получения дополнительной информации об определениях состояния для каждого типа параметрической модели, смотрите эти страницы с описанием:

  • Модель idnlarx — Nonlinear ARX

  • idnlhw — Нелинейная модель Хаммерстайна-Винера

Если вы не знаете значений рабочей точки для своей системы, смотрите Вычислительные Рабочие точки для Нелинейных Моделей Черного ящика.

Для получения дополнительной информации смотрите страница с описанием idnlhw/linearize или idnlarx/linearize.

Вычисление рабочих точек для нелинейных моделей черного ящика

Рабочая точка задана постоянным входом и значениями состояния модели.

Если вы не знаете условий работы своей системы для линеаризации, можно использовать findop, чтобы вычислить рабочую точку из спецификаций.

Вычисление рабочей точки от установившихся спецификаций

Используйте findop, чтобы вычислить рабочую точку из установившихся спецификаций:

  • Значения сигналов ввода и вывода.
    Если любой, установившееся значение ввода или вывода неизвестно, можно задать его как NaN, чтобы оценить это значение. Это особенно полезно при моделировании систем MIMO, где только подмножество ввода и вывода установившиеся значения известно.

  • Более комплексные установившиеся спецификации.

    Создайте объект, который хранит спецификации для вычисления рабочей точки, включая границы ввода и вывода, известные значения и исходные предположения. Для получения дополнительной информации смотрите idnlarx/operspec или idnlhw/operspec.

Для получения дополнительной информации смотрите страница с описанием idnlhw/findop или idnlarx/findop.

Вычисление рабочих точек в снимке состояния симуляции

Вычислите рабочую точку в определенное время во время симуляции модели (снимок состояния) путем определения времени снимка состояния и входного значения. Чтобы использовать этот метод для вычисления рабочей точки равновесия, выберите вход, который приводит к установившемуся выходному значению. Используйте тот вход и временную стоимость, в которой вывод достигает устойчивого состояния (время снимка состояния), чтобы вычислить рабочую точку.

Это является дополнительным, чтобы задать начальные условия для симуляции при использовании этого метода, потому что начальные условия часто не влияют на установившиеся значения. По умолчанию начальные условия являются нулем.

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

Смотрите также

|

Похожие темы