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