Давайте изменим это на
T (n) - T (n-1) - T (n-2) = cn
С левой стороны сторона T линейна в T, существует стандартный метод решения: найдите общее решение, найдите любое конкретное решение, а затем найдите правильный экземпляр общего решения, которое нужно добавить к конкретному решению, чтобы соответствовать граничным условиям T (1) = T (2) = d.
Общее решение
Мы хотим найти все решения для T ′ (n) - T ′ (n-1) - T ′ (n-2) = 0. Решение для T ′ (n) не является решением исходной задачи, поскольку правая часть равна нулю; но полезно решить это уравнение, потому что с помощью линейности решение исходной задачи плюс любое решение проблемы «равно нулю» дает другое решение исходной задачи.
Это линейное рекуррентное соотношение, поэтому мы Можно предположить, что решение имеет вид T ′ (n) = x n для некоторого x ≠ 0. Подстановка дает x n - x n-1 - x n-2 = 0 и деление на x n-2 дает квадратное c уравнение x 2 - x - 1 = 0. Применяя В квадратичной формуле c это уравнение имеет два решения: золотое сечение x = φ и x = -1 / φ.
So T ′ (n) = φ n и T ′ (n) = (-1 / φ) n оба являются решениями, и, поскольку уравнение является линейным, любая линейная комбинация из них также является решением. Общая форма T ′ (n) = aφ n + b (-1 / φ) n , где a и b - произвольные постоянные.
Частное решение
Мы хотим найти любое решение для T (n) - T (n-1) - T (n-2) = cn. Поскольку правая часть является полиномом степени 1 от n, мы можем догадаться, что решение имеет вид T (n) = pn + q для некоторого p, q. Подстановка этого в дает
(pn + q) - (pn - p + q) - (pn - 2p + q) = cn
Эквивалентные коэффициенты, -pn = cn и 3p - q = 0, поэтому мы имеем p = - c и q = -3 c, и, следовательно, конкретным решением является T (n) = -cn - 3 c.
Граничные условия
Итак, мы ищем значения a и b, такие что
T (n) = aφ n + b (-1 / φ) n - cn - 3 c
удовлетворяет граничным условиям T (1) = T (2) = d. Подставляя, получаем:
- aφ + b (-1 / φ) - c - 3 c = d
- aφ 2 + b (-1 / φ) 2 - 2 c - 3 c = d
Поскольку c, d и φ являются константами, это система два линейных уравнения от двух переменных a и b. Это можно решить, применяя стандартную технику, такую как исключение или замена, или просто , подключенный к Wolfram Alpha , что дает уникальное решение
![solution for a and b](https://i.stack.imgur.com/rAqMw.png)
Это, безусловно, можно упростить, чтобы исключить квадратные корни в знаменателях, но я не думаю, что это необходимо для демонстрации метода решения.