Об идентифицированных нелинейных моделях

Что такое нелинейные модели?

Динамические модели в программном обеспечении System Identification Toolbox™ являются математическими отношениями между входными параметрами u (t) и выходные параметры y (t) системы. Модель является динамической, потому что выходное значение в текущее время зависит от значений ввода - вывода в предыдущий раз моменты. Поэтому динамические модели имеют память о прошлом. Можно использовать отношения ввода - вывода, чтобы вычислить текущую производительность из предыдущих вводов и выводов. Динамические модели имеют состояния, где вектор состояния содержит информацию прошлого.

Общая форма модели в дискретное время:

y (t) = f (u (t - 1), y (t - 1), u (t - 2), y (t - 2)...)

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

Использование тулбокса возражает, чтобы представлять различные линейные и нелинейные образцовые структуры. Нелинейные объекты модели коллективно известны как идентифицированные нелинейные модели. Эти модели представляют нелинейные системы с коэффициентами, которые идентифицированы с помощью измеренных данных ввода - вывода. Смотрите Нелинейные Образцовые Структуры для получения дополнительной информации.

Когда соответствовать нелинейным моделям

На практике все системы нелинейны, и вывод является нелинейной функцией входных переменных. Однако линейная модель часто достаточна, чтобы точно описать системную динамику. В большинстве случаев необходимо сначала попытаться соответствовать линейным моделям.

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

Линейная модель не достаточно хороша

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

Физическая система слабо нелинейна

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

Физическая система по сути нелинейна

У вас может быть физическое понимание, что ваша система нелинейна. Определенные явления по сути нелинейны по своей природе, включая сухое трение в механических системах, насыщении степени привода и нелинейности датчика в электромеханических системах. Можно попытаться моделировать такие системы с помощью структуры модели Хаммерстайна-Винера, которая позволяет вам соединить линейные модели со статической нелинейностью. Для получения дополнительной информации смотрите Идентификацию Модели Хаммерстайна-Винера.

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

Если вы знаете нелинейные уравнения, описывающие систему, можно представлять эту систему как нелинейную модель серого поля и оценить коэффициенты от экспериментальных данных. В этом случае коэффициенты являются параметрами модели. Для получения дополнительной информации смотрите Оценку Модели Серого Поля.

Прежде, чем соответствовать нелинейной модели, попытайтесь преобразовать свои переменные ввода и вывода, таким образом, что отношение между преобразованными переменными становится линейным. Например, вы можете иметь дело с системой, которая имеет текущий и напряжение как входные параметры к спирали для нагрева воды и температура горячей жидкости как вывод. В этом случае вывод зависит от входных параметров через степень нагревателя, который равен продукту тока и напряжения. Вместо того, чтобы соответствовать нелинейной модели, чтобы 2D ввести и данные с одним выходом, можно создать новую входную переменную путем взятия продукта тока и напряжения. Можно затем соответствовать линейной модели к single-input/single-output данным.

Линейные и нелинейные движущие силы получены отдельно

У вас может быть несколько наборов данных, которые получают линейную и нелинейную динамику отдельно. Например, один набор данных с низким амплитудным входом (волнует только линейную динамику), и другой набор данных с высоким амплитудным входом (волнует нелинейную динамику). В таких случаях сначала оцените линейную модель с помощью набора First Data. Затем, используйте модель в качестве первоначальной модели, чтобы оценить нелинейную модель с помощью второго набора данных. Для получения дополнительной информации смотрите, Инициализируют Нелинейную Оценку ARX Используя Линейную Модель и Инициализируют Оценку Хаммерстайна-Винера Используя Линейную Модель.

Нелинейная образцовая оценка

Оценка черного квадрата

В черном ящике или “холодном запуске” оценка, только необходимо задать порядок сконфигурировать структуру модели.

sys = estimator(data,orders) 

где estimator является именем команды оценки, чтобы использовать для желаемого типа модели.

Например, вы используете nlarx, чтобы оценить нелинейные модели ARX и nlhw для моделей Хаммерстайна-Винера.

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

  • Для нелинейных моделей ARX orders относится к порядкам модели и задержкам определения настройки регрессора.

  • Поскольку Хаммерстайн-Винер моделирует, orders относится к порядку модели и задержкам линейной передаточной функции подсистемы.

При работе в приложении System Identification вы задаете порядки в соответствующих полях редактирования соответствующих образцовых диалоговых окон оценки.

Совершенствование существующих моделей

Можно совершенствовать параметры ранее предполагаемой нелинейной модели с помощью следующей команды:

sys = estimator(data,sys0) 

Эта команда обновляет параметры существующей модели sys0, чтобы соответствовать данным и возвращает результаты в выходной модели sys. Для нелинейных систем средством оценки может быть nlarx, nlhw или nlgreyest.

Инициализация оценок с известной информацией о линейном компоненте

Нелинейный ARX (idnlarx) и модели (idnlhw) Хаммерстайна-Винера содержит линейный компонент в их структуре. Если у вас есть знание линейной динамики, такой как посредством идентификации линейной модели с помощью данных низкой амплитуды, можно включить его во время оценки нелинейных моделей. В частности, можно заменить входной параметр orders на ранее предполагаемую линейную модель с помощью следующей команды:

sys = estimator(data,LinModel)

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

Опции оценки

Существует много опций, сопоставленных с алгоритмом оценки, который конфигурирует целевую функцию оценки, начальные условия и числовой алгоритм поиска, среди прочего модели. Для каждой команды оценки, estimator, существует соответствующая команда опции под названием estimator Options. Например, используйте nlarxOptions, чтобы сгенерировать набор опции для nlarx. Команда опций возвращает набор опции, который вы затем передаете как входной параметр соответствующей команде оценки.

Например, чтобы оценить нелинейную модель ARX с simulation как особое внимание и lsqnonlin как метод поиска, используйте nlarxOptions.

load iddata1 z1
Options = nlarxOptions('Focus','simulation','SearchMethod','lsqnonlin');
sys= nlarx(z1,[2 2 1],Options);

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

Связанные примеры

Больше о