Решение рекуррентных соотношений — различия между версиями
| Строка 28: | Строка 28: | ||
==Примеры== | ==Примеры== | ||
====ЧИСЛА ФИБОНАЧЧИ==== | ====ЧИСЛА ФИБОНАЧЧИ==== | ||
| − | |||
| − | |||
Рассмотрим рекуррентное соотношение для чисел Фибоначчи: | Рассмотрим рекуррентное соотношение для чисел Фибоначчи: | ||
<br>[[Файл:Img39.png]]<br> | <br>[[Файл:Img39.png]]<br> | ||
| − | |||
Это хорошо известная последовательность, каждый элемент которой (кроме нулевого и первого) равен сумме двух предыдущих: | Это хорошо известная последовательность, каждый элемент которой (кроме нулевого и первого) равен сумме двух предыдущих: | ||
<br>[[Файл:Img40.png]]<br> | <br>[[Файл:Img40.png]]<br> | ||
| − | |||
| − | |||
Первый шаг алгоритма мы уже выполнили, записав рекуррентное соотношение. Выполним второй шаг: | Первый шаг алгоритма мы уже выполнили, записав рекуррентное соотношение. Выполним второй шаг: | ||
<br>[[Файл:Img45.png]]<br> | <br>[[Файл:Img45.png]]<br> | ||
| Строка 45: | Строка 40: | ||
откуда получаем замкнутое выражение для производящей функции: | откуда получаем замкнутое выражение для производящей функции: | ||
<br>[[Файл:Img48.png]]<br> | <br>[[Файл:Img48.png]]<br> | ||
| − | Осталось | + | Осталось разложить её в ряд (чего требует четвёртый шаг алгоритма). С этой целью нужно разложить знаменатель на множители. Найдем корни уравнения: |
<br>[[Файл:Img49.png]]<br> | <br>[[Файл:Img49.png]]<br> | ||
| − | Таким образом | + | Таким образом, |
<br>[[Файл:Img50.png]]<br> | <br>[[Файл:Img50.png]]<br> | ||
| − | + | Нам известно разложение только следующей рациональной функции: | |
<br>[[Файл:Img31.png]]<br> | <br>[[Файл:Img31.png]]<br> | ||
| − | Рассмотрим первую дробь и поделим в ней числитель и знаменатель на z1: | + | Рассмотрим первую дробь и поделим в ней числитель и знаменатель на <math>z1</math>: |
<br>[[Файл:Img52.png]]<br> | <br>[[Файл:Img52.png]]<br> | ||
| − | Аналогично (но с делением на z2) поступим со второй дробью: | + | Аналогично (но с делением на <math>z2</math>) поступим со второй дробью: |
<br>[[Файл:Img53.png]]<br> | <br>[[Файл:Img53.png]]<br> | ||
Таким образом, | Таким образом, | ||
| Строка 59: | Строка 54: | ||
и, следовательно, | и, следовательно, | ||
<br>[[Файл:Img55.png]]<br> | <br>[[Файл:Img55.png]]<br> | ||
| − | Данное выражение можно | + | Данное выражение можно упростить, если обратить внимание на то, что <math>1/z1=-z2</math>, <math>1/z2=-z1</math> и <math>z1-z2=√5</math>: |
<br>[[Файл:Img59.png]]<br> | <br>[[Файл:Img59.png]]<br> | ||
| + | |||
====БОЛЕЕ СЛОЖНОЕ СООТНОШЕНИЕ==== | ====БОЛЕЕ СЛОЖНОЕ СООТНОШЕНИЕ==== | ||
Версия 22:13, 12 марта 2018
Содержание
Определения
| Определение: |
| Рекуррентная формула — формула вида , выражающая каждый член последовательности через предыдущих членов и возможно номер члена последовательности . |
Во многих задачах полезно знать, есть ли у рекурсивной функции нерекурсивная или как еще говорят «замкнутая» форма, т.е. получение в виде аналитически заданной функции. Например, рекурсивная функция, описывающая сумму чисел натурального ряда:
может быть переведена в замкнутую форму: . Для этого можно использовать метод производящих функций.
Метод производящих функций
Алгоритм получения замкнутого выражения для чисел , удовлетворяющих рекуррентному соотношению, с помощью производящих функций cостоит из 4 шагов.
- Записать рекуррентное соотношение и начальные данные для него в следующем виде (если порядок соотношения равен ):
- Домножить каждую строчку на в соответствующей степени и просуммировать строчки для всех .
- В полученном уравнениипривести все суммы к замкнутому виду. Получить уравнение для производящей функции.
- Выразить в явном виде (решить уравнение, полученное на предыдущем шаге) и разложить производящую функцию в ряд по степеням .
Доказательство
по построению
Примеры
ЧИСЛА ФИБОНАЧЧИ
Рассмотрим рекуррентное соотношение для чисел Фибоначчи:

Это хорошо известная последовательность, каждый элемент которой (кроме нулевого и первого) равен сумме двух предыдущих:

Первый шаг алгоритма мы уже выполнили, записав рекуррентное соотношение. Выполним второй шаг:

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

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

откуда получаем замкнутое выражение для производящей функции:
![]()
Осталось разложить её в ряд (чего требует четвёртый шаг алгоритма). С этой целью нужно разложить знаменатель на множители. Найдем корни уравнения:

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

Нам известно разложение только следующей рациональной функции:

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

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

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

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

Данное выражение можно упростить, если обратить внимание на то, что , и :
