остаток#
- scipy.signal.остаток(b, a, tol=0.001, rtype='avg')[источник]#
Вычислить разложение на простейшие дроби b(s) / a(s).
Если M это степень числителя b и N степень знаменателя a:
b(s) b[0] s**(M) + b[1] s**(M-1) + ... + b[M] H(s) = ------ = ------------------------------------------ a(s) a[0] s**(N) + a[1] s**(N-1) + ... + a[N]
тогда разложение на простые дроби H(s) определяется как:
r[0] r[1] r[-1] = -------- + -------- + ... + --------- + k(s) (s-p[0]) (s-p[1]) (s-p[-1])
Если есть повторяющиеся корни (ближе, чем tol), тогда H(s) имеет члены вида:
r[i] r[i+1] r[i+n-1] -------- + ----------- + ... + ----------- (s-p[i]) (s-p[i])**2 (s-p[i])**n
Эта функция используется для полиномов в положительных степенях s или z, таких как аналоговые фильтры или цифровые фильтры в технике управления. Для отрицательных степеней z (типично для цифровых фильтров в ЦОС) используйте
residuez.Подробности об алгоритме см. в примечаниях.
- Параметры:
- barray_like
Коэффициенты полинома числителя.
- aarray_like
Коэффициенты полинома знаменателя.
- tolfloat, опционально
Допуск для того, чтобы два корня считались равными с точки зрения расстояния между ними. По умолчанию 1e-3. См.
unique_rootsдля дополнительных деталей.- rtype{‘avg’, ‘min’, ‘max’}, опционально
Метод вычисления корня для представления группы идентичных корней. По умолчанию 'avg'. См.
unique_rootsдля дополнительных деталей.
- Возвращает:
- rndarray
Вычеты, соответствующие полюсам. Для кратных полюсов вычеты упорядочены в соответствии с возрастанием степенных дробей.
- pndarray
Полюса, упорядоченные по возрастанию величины.
- kndarray
Коэффициенты прямого полиномиального члена.
Смотрите также
Примечания
Для вычислений используется алгоритм "дефляции через вычитание" — метод 6 в [1].
Форма разложения на простейшие дроби зависит от кратности полюсов в точном математическом смысле. Однако нет способа точно определить кратность корней полинома в численных вычислениях. Таким образом, вы должны рассматривать результат
residueс заданным tol как разложение на простые дроби, вычисленное для знаменателя, составленного из вычисленных полюсов с эмпирически определённой кратностью. Выбор tol может кардинально изменить результат, если есть близкие полюса.Ссылки
[1]J. F. Mahoney, B. D. Sivazlian, “Разложение на простейшие дроби: обзор вычислительной методологии и эффективности”, Journal of Computational and Applied Mathematics, Vol. 9, 1983.