isStable

Определите стабильность полинома оператора задержки

Синтаксис

[indicator,eigenvalues] = isStable(A)

Описание

[indicator,eigenvalues] = isStable(A) принимает полиномиальный объект оператора задержки A и проверяет, является ли он стабильным. Условие устойчивости требует, чтобы величины всех корней характеристического полинома были меньше 1 в пределах небольшого числового допуска.

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

A

Полиномиальный объект оператора задержки, произведенный LagOp.

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

indicator

Логическое значение для теста устойчивости. true указывает, что A(L) стабильна и что величина всех собственных значений его характеристического полинома меньше единицы; false указывает, что A(L) нестабильна и что величина, по крайней мере, одного из собственных значений его характеристического полинома больше или равна единице.

eigenvalues

Собственные значения характеристического полинома, сопоставленного с A(L). Длина eigenvalues является продуктом степени и размерности A(L).

Примеры

расширить все

Разделите два полиномиальных объекта Оператор и проверяйте, является ли полученный полином стабильным:

A = LagOp({1 -0.6 0.08});
B = LagOp({1 -0.5});
[indicator,eigenvalues]=isStable(A\B)
indicator = logical
   1

eigenvalues = 4×1 complex

   0.3531 + 0.0000i
  -0.0723 + 0.3003i
  -0.0723 - 0.3003i
  -0.3086 + 0.0000i

Совет

  • Полиномы нулевой степени всегда стабильны.

  • Для полиномов степени, большей нуля, наличие NaN-оцененных коэффициентов возвращает false индикатор устойчивости и вектор NaNs в eigenvalues.

  • При тестировании на стабильность сравнение включает в себя небольшой численный допуск. Индикатор следующий true когда величины всех собственных значений меньше 1-10*eps, где eps является точностью машины. Пользователи, желающие включить свой собственный допуск (включая 0) может просто игнорировать indicator и определить стабильность следующим образом:

    [~,eigenvalues] = isStable(A);
    indicator = all(abs(eigenvalues) < (1-tol));

    для некоторого небольшого, неотрицательного допуска tol.

Ссылки

[1] Гамильтон, Дж. Д. Анализ временных рядов. Princeton, NJ: Princeton University Press, 1994.