Loading [MathJax]/jax/output/HTML-CSS/jax.js

Рекуррентные соотношения и уравнения

В этом разделе вы найдете бесплатные примеры решений рекуррентных соотношений методом характеристического уравнения и подбора частного решения по правой части. Также приведены краткие алгоритмы решения для двух методов и пример их использования для последовательности Фибоначчи.

Как решать рекуррентные соотношения?

Для решения рекуррентных соотношений применяют один из двух основных способов:

  • Метод производящих функций
  • Метод характеристического уравнения

В следующем разделе мы сравним, как выглядит процесс решения для одной и той же последовательности двумя методами.

Метод производящих функций

  1. Записать рекуррентное соотношение и начальные данные для него в следующем виде (если порядок соотношения равен k) a0=,a1=,ak1=,an=,nk
  2. Домножить каждую строчку на z в соответствующей степени zkak и сложить все выражения для n0. В левой части получится сумма n=0anzn — это производящая функция, назовем ее G(z). Правую часть преобразовать так, чтобы она превратилась в выражение, включающее G(z).
  3. Решить полученное уравнение относительно G(z).
  4. Разложить G(z) в степенной ряд, тогда коэффициент при zn будет искомым выражением для an.

Метод характеристических функций

Этот метод практически полностью аналогичен методу решения линейных неоднородных дифференциальных уравнений с постоянными коэффициентами, кратко алгоритм выглядит так:

  1. Записать соответствующее однородное рекуррентное уравнение (РУ): pn+kan+k+pn+k1an+k1+...+pnan=fpn+kan+k+pn+k1an+k1+...+pnan=0.
  2. Выписать для него характеристическое уравнение и найти его корни λi pn+kλk+pn+k1λk1+...+pn1λ+pn=0.
  3. Выписать согласно полученным корням λ1,...,λk общее решение однородного рекуррентного соотношения (подробнее теорию см. по ссылке [1] ниже). C1λn1+...+Ckλnk для случая различных простых корней, C1λn1+C2nλn1+...+Cmnmλn1+...+Ckλnk для случая корня λ1кратностиm.
  4. Подобрать частное решение неоднородного рекуррентного соотношения по виду правой части (особенно удобно для правых частей вида μnP(n), P(n) - многочлен от n).
  5. Представить общее решение неоднородного РУ как сумму общего решения соответствующего однородного РУ и частного решения неоднородного РУ.
  6. Подставить начальные условия a0,a1,...,ak1 и получить значения констант C1,...,Ck.

Решение для последовательности чисел Фибоначчи

Последовательность чисел Фибоначи - это последовательность, каждый элемент которой (кроме нулевого и первого) равен сумме двух предыдущих:

0,1,1,2,3,5,8,13,21,34,...

Числа Фибоначчи растут быстро: f10=55, f20=6765, а f100=354224848179261915075.

Общая формула данной рекуррентной последовательности имеет вид6

f0=0,f1=1,fn=fn1+fn2,n2.

Способ 1. Производящяя функция

Начинаем с второго шага алгоритма, домножаем на zn:

1f0=01,zf1=1z,zfn=(fn1+fn2)zn,n2.

Складываем все строчки:

f0+f1z+n=2fnzn=z+n=2fn1zn+n=2fn2zn.

На третьем шаге алгоритма приводим все суммы к замкнутому виду:

G(z)=z+zn=2fn1zn1+z2n=2fn2zn2,G(z)=z+zn=1fnzn+z2n=0fnzn,G(z)=z+z(G(z)f0)+z2G(z),G(z)=z+zG(z)+z2G(z),

откуда выводим искомое выражение для производящей функции:

G(z)=z1zz2.

Теперь разложим ее в степенной ряд. Для этого сначала разложим знаменатель на множители. Найдем корни уравнения:

1zz2=0,z1=152,z2=1+52.

Таким образом,

G(z)=z1zz2=z(z1z)(z2z)=z1/(z1z2)z1z+z2/(z2z1)z2z.

Чтобы разложить данные дроби в ряды, используем известное разложение для дроби:

11z=n=0zn=1+z+z2+z3+.

Рассмотрим первую дробь и поделим в ней числитель и знаменатель на z1:

z1/(z1z2)z1z=1z1z211zz1=1z1z2n=0znzn1.

Аналогично (но с делением на z2) действуем со второй дробью:

z2/(z2z1)z2z=1z2z111zz2=1z2z1n=0znzn2.

Таким образом,

G(z)=n=0fnzn=n=0(1z1z21zn1+1z2z11zn2)zn,

и, следовательно,

fn=1z1z21zn1+1z2z11zn2.

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

1/z1=z2,1/z2=z1,z1z2=5 fn=15((1+52)n(152)n).

И окончательно,

fn=12n5((1+5)n(15)n).

Способ 2. Характеристическое уравнение

Запишем характеристический многочлен для fn=fn1+fn2, и найдем его корни:

x2=x+1,D=1+4=5,x1,2=1±52.

Тогда общее решение однородного рекуррентного уравнения имеет вид:

fn=C1(152)n+C2(1+52)n.

Осталось найти значения произвольных постоянных C1,C2 из начальных условий f0=0,f1=1.

f0=C1+C2=0,f1=C1(152)+C2(1+52)=1.

Решая систему, найдем

C1=1/5,C2=1/5.

Итоговое выражение для последовательности чисел Фибоначчи:

fn=15(152)n+15(1+52)n==12n5((1+5)n(15)n).

Результаты обоих методов совпали, решение вторым методом оказалось проще и короче.


Понравилось? Добавьте в закладки

Примеры решений

Задача 1. Решить рекуррентное соотношение f(n+2)=6f(n+1)+7f(n)+n3 с начальными условиями f(0)=2 и f(1)=4, сделать проверку

Решение рекуррентного соотношения

Задача 2. Решить рекуррентное соотношение f(n+2)=2f(n+1)+3f(n)3n с начальными условиями f(0)=1, f(1)=3 и сделать проверку

Пример решения рекуррентного соотношения

Задача 3. 1. Решить рекуррентное соотношение f(n+2)=5f(n+1)4f(n)+3n2 с начальными условиями f(0)=2, f(1)=3.
2. Проверить, удовлетворяет ли найденное решение начальным условиям и обращает ли оно рекуррентное соотношение в справедливое тождество.

Решение и проверка

Задача 4. Найти последовательность an, удовлетворяющую рекуррентному соотношению an+2+4an+1+3an=0 и начальным условиям a1=2, a2=4.

Нахождение рекуррентной последовательности

Решим ваши задачи быстро и подробно!

Полезные ссылки