


Гармонические колебания с дискретным временем. Помогите понять, откуда в решении задачи ошибка.
Задача.
Тетя Маша скачет по магазинам вдоль координатной прямой.
После первого скачка
x(1) = 0.6
, после второго -
x(2) = -0.28
, далее
x(n) = 1.2x(n - 1) - x(n-2)
Как скоро (после какого скачка) расстояние от Маши до ближайшего целого будет меньше 1e-12?
Решение.
На компьютере получается 1619963 скачка.
Без компьютера: найдем явное выражение для x(n).
Мы имеем линейное однородное рекуррентное уравнение, решением которого является x(n) = Re((0.6 + 0.8i)^n).
Приблизим pi/2 / atan(4/3) рациональными числами.
Разложим в цепную дробь:
pi/2 / atan(4/3) =
[1; 1, 2, 3, 1, 2, 1, 4, 1, 1, 1, 4, 1, 3, 1, 1, 7, 1, 3, 2, 14, 1, 1, 1, 10, 5, 1, 1, 3, 3, 1, ..]
[1; 1, 2, 3, 1, 2, 1, 4, 1, 1, 1, 4, 1, 3, 1, 1, 7, 1, 3] подходящая дробь = 2181836/1288013≈2.44102, Re((0.6 + 0.8i)^2181836) ~= 3e-7
Но при этом Re ((0.6 + 0.8i)^1619963) отличается от целого менее, чем на 1e-12, хотя и 1619963 < 2181836.
Вопрос:
Почему мы 1619963-й скачок при разложении в цепную дробь не обнаружили?
Хм.. Я попробовал найти решение честно, получилось:
X(n) = cos(arctg(4/3) n)
Попозже попробую на компе решить и сравнить.
Ничего удивительного в этом нет. В окрестности нуля
cos(x) = 1 - x^2/2 + O(x^4)
, а еще
cos(пи/2 - x) = x + O(x^3)
Понятно, что лучше число, кратное пи (а не пи/2), приближать целым числом арктангенсов - квадрат в разложении в ряд удвоит порядок точности.
https://www.wolframalpha.com/input/?i=pi+/+atan(4/3)+continued+fraction
https://www.wolframalpha.com/input/?i=continued+fraction+[{3,+2,+1,+1,+2,+1,+2,+2,+3,+10,+1,+1,+3,+1,+3,+2,+1}]