idnlhw/linearize

Линеаризация модели Гаммерштейна-Винера

Синтаксис

SYS = linearize(NLSYS,U0)
SYS = linearize(NLSYS,U0,X0)

Описание

SYS = linearize(NLSYS,U0) линеаризирует модель Гаммерштейна-Винера вокруг рабочей точки равновесия. При использовании этого синтаксиса значения равновесного состояния для линеаризации вычисляются автоматически с помощью U0.

SYS = linearize(NLSYS,U0,X0) линеаризирует idnlhw модели NLSYS вокруг рабочей точки, заданной входом U0 и значения состояний X0. При этом использовании X0 не должны содержать значений равновесного состояния. Для получения дополнительной информации об определении состояний для idnlhw модели, см. Определение состояний idnlhw.

Выходы являются линейной моделью, которая является лучшим линейным приближением для входов, которые варьируются в небольшой окрестности постоянной входной u (t) = U. Линеаризация основана на тангенциальной линеаризации .

Входные параметры

  • NLSYS: idnlhw модель.

  • U0: Матрица, содержащая постоянные входные значения для модели.

  • X0: Значения состояния рабочей точки для модели.

Примечание

Для оценки U0 и X0 из спецификаций рабочей точки используйте findop команда.

Выходные аргументы

  • SYS является idss модель.

    Когда Control System Toolbox™ продукт установлен, SYS является объектом LTI.

Алгоритмы

The idnlhw структура модели представляет нелинейную систему, использующую линейную систему, соединенную последовательно с одной или двумя статическими нелинейными системами. Для примера можно использовать статическую нелинейность, чтобы симулировать поведение насыщения или мертвой зоны. Следующий рисунок показывает нелинейную систему линейной системой, которая изменена статической нелинейностью входа и выхода, где функция f представляет нелинейность входа, g представляет нелинейность выхода, и [A, B, C, D] представляет параметризацию пространства состояний линейной модели.

Следующие уравнения управляют динамикой idnlhw модель:

v (<reservedrangesplaceholder3>) = f (u (<reservedrangesplaceholder0>))

X (t +1) = AX (<reservedrangesplaceholder2>) + Bv (<reservedrangesplaceholder0>)

w (<reservedrangesplaceholder4>) = CX (<reservedrangesplaceholder2>) + Dv (<reservedrangesplaceholder0>)

y (<reservedrangesplaceholder3>) = g (w (<reservedrangesplaceholder0>))

где

  • u - входной сигнал

  • v и w являются промежуточными сигналами (выходы из входа нелинейности и линейной модели соответственно)

  • y - выходы модели

Линейное приближение модели Гаммерштейна-Винера к рабочей точке (X *, u *) выглядит следующим образом:

ΔX(t+1)=AΔX(t)+BfuΔu(t)Δy(t)gwCΔX(t)+gwDfuΔu(t)

где

  • ΔX(t)=X(t)X*(t)

  • Δu(t)=u(t)u*(t)

  • Δy(t)=y(t)y*(t)

  • fu=uf(u)|u=u*

  • gw=wg(w)|w=w*

где y* - выход модели, соответствующий входным u* и вектору X* состояния, v* = f (u*), и w* - ответ линейной модели для входных v* и X* состояния.

Примечание

Для линейных приближений в больших входных областях значений используйте linapp. Для получения дополнительной информации смотрите linapp страница с описанием.

Введенный в R2014b