residue

Расширение частичной фракции (разложение частичной фракции)

Описание

пример

[r,p,k] = residue(b,a) находит остатки, полюсы и прямой член Расширения Частичной дроби отношения двух полиномов, где расширение имеет вид

b(s)a(s)=bmsm+bm1sm1++b1s+b0ansn+an1sn1++a1s+a0=rnspn+...+r2sp2+r1sp1+k(s).

Входы residue являются векторами коэффициентов полиномов b = [bm ... b1 b0] и a = [an ... a1 a0]. Выходные выходы являются остатками r = [rn ... r2 r1], полюса p = [pn ... p2 p1], и полином k. Для большинства задач учебника, k является 0 или константа.

пример

[b,a] = residue(r,p,k) преобразует расширение частичной дроби назад в отношение двух полиномов и возвращает коэффициенты в b и a.

Примеры

свернуть все

Найдите частичное расширение дроби следующего отношения полиномов F (s) с помощью residue

F(s)=b(s)a(s)=-4s+8s2+6s+8.

b = [-4 8];
a = [1 6 8];
[r,p,k] = residue(b,a)
r = 2×1

   -12
     8

p = 2×1

    -4
    -2

k =

     []

Это представляет расширение частичной дроби

-4s+8s2+6s+8=-12s+4+8s+2.

Преобразуйте расширение частичной дроби назад в полиномиальные коэффициенты с помощью residue.

[b,a] = residue(r,p,k)
b = 1×2

    -4     8

a = 1×3

     1     6     8

Этот результат представляет исходную фракцию F (s).

Если степень числителя равна степени знаменателя, выход k может быть ненулевым.

Найдите частичное расширение дроби отношения двух полиномов F (s) с комплексными корнями и равной степенью числителя и знаменателя, где F (s) является

F(s)=b(s)a(s)=2s3+s2s3+s+1.

b = [2 1 0 0];
a = [1 0 1 1];
[r,p,k] = residue(b,a)
r = 3×1 complex

   0.5354 + 1.0390i
   0.5354 - 1.0390i
  -0.0708 + 0.0000i

p = 3×1 complex

   0.3412 + 1.1615i
   0.3412 - 1.1615i
  -0.6823 + 0.0000i

k = 2

residue возвращает комплексные корни и полюса и постоянный член в k, представляющий расширение частичной дроби

F(s)=b(s)a(s)=2s3+s2s3+s2+1=0.5354+1.0390is-(0.3412+1.1615i)+0.5354-1.0390is-(0.3412-1.1615i)+-0.0708s+0.6823+2.

Когда степень числителя больше степени знаменателя, выход k является вектором, который представляет коэффициенты полинома в s.

Выполните следующее частичное расширение F (ов) с помощью residue.

F(s)=b(s)a(s)=2s4+ss2+1=0.5-1is-1i+0.5+1is+1i+2s2-2.

b = [2 0 0 1 0];
a = [1 0 1];
[r,p,k] = residue(b,a)
r = 2×1 complex

   0.5000 - 1.0000i
   0.5000 + 1.0000i

p = 2×1 complex

   0.0000 + 1.0000i
   0.0000 - 1.0000i

k = 1×3

     2     0    -2

k представляет полином 2s2-2.

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

свернуть все

Коэффициенты полинома в числителе, заданные как вектор чисел, представляющих коэффициенты многочлена в нисходящих степенях s.

Типы данных: single | double
Поддержка комплексного числа: Да

Коэффициенты полинома в знаменателе, заданные как вектор чисел, представляющих коэффициенты многочлена в нисходящих степенях s.

Типы данных: single | double
Поддержка комплексного числа: Да

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

свернуть все

Остатки частичного расширения фракции, возвращенные как вектор-столбец чисел.

Полюса частичного расширения дроби, возвращенные как вектор-столбец чисел.

Прямой член, возвращенный как вектор-строка чисел, которые задают коэффициенты полинома в нисходящих степенях s.

Подробнее о

свернуть все

Расширение частичной дроби

Рассмотрим дробь F (s) двух полиномов b и a степени n и m, соответственно

F(s)=b(s)a(s)=bnsn++b2s2+b1s+b0amsm++a2s2+a1s+a0.

F дроби (s) может быть представлена как сумма простых дробей

b(s)a(s)=rmspm+rm1spm1++r0sp0+k(s)

Эта сумма называется частичным расширением F. Значения r m,..., r 1 являются остатками, значения p m,..., p 1 являются полюсами, а k (s) является полиномом в s. Для большинства задач учебника k (s) является 0 или константой.

Количество полюсов n является

n = length(a)-1 = length(r) = length(p)

Вектор прямого термина пуст, если length(b) < length(a); иначе

length(k) = length(b)-length(a)+1

Если p(j) = ... = p(j+m-1) - полюс кратности m, затем расширение включает условия вида

rjspj+rj+1(spj)2++rj+m1(spj)m.

Алгоритмы

residue сначала получает полюса, используя roots. Далее, если дробь является непатентованной, прямой термин k найдено с помощью deconv, который выполняет полиномиальное длинное деление. Наконец, residue определяет остатки путем оценки полинома с удаленными отдельными корнями. Для повторных корней, resi2 вычисляет остатки в повторяющихся корневых местоположениях.

Численно, частичное расширение дроби отношения полиномов представляет плохо поставленную задачу. Если многочлен знаменателя, a (s), близок к полиному с несколькими корнями, то небольшие изменения в данных, включая ошибки округления, могут привести к произвольно большим изменениям получившихся полюсов и остатков. Формулировки задачи, использующие представления пространства состояний или нули полюсов, являются предпочтительными.

Ссылки

[1] Oppenheim, A.V. and R.W. Schafer. Цифровая обработка сигналов. Prentice Hall, 1975, с. 56.

Представлено до R2006a