Определите стабильность полинома оператора задержки
[
indicator
,eigenvalues
]
= isStable(A
)
[
принимает полиномиальный объект оператора задержки indicator
,eigenvalues
]
= isStable(A
)A
и проверяет, является ли он стабильным. Условие устойчивости требует, чтобы величины всех корней характеристического полинома были меньше 1 в пределах небольшого числового допуска.
|
Полиномиальный объект оператора задержки, произведенный |
|
Логическое значение для теста устойчивости. |
|
Собственные значения характеристического полинома, сопоставленного с A(L). Длина |
Полиномы нулевой степени всегда стабильны.
Для полиномов степени, большей нуля, наличие NaN-оцененных коэффициентов возвращает false
индикатор устойчивости и вектор NaN
s в 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.