Определение стабильности полинома оператора запаздывания
[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 University Press, 1994.