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

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

Динамические модели в программном обеспечении 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, существует соответствующая команда опции под названием estimatorOptions. Например, используйте 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. Для получения дополнительной информации см. Отчет Оценки.

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

Больше о