Я использую Python со Scipy для написания некоторого кода для сближения декартовых координат с элементами Кеплера и наоборот.
Для преобразования декартовой системы в Кеплера я использую следующее выражение:
E = scopt.newton(self.f, self.M, self.df, args=(), tol=10^(-10), maxiter=10000)
с
self.f = lambda x: x-self.e*scipy.sin(x)-self.M
self.df= lambda x: 1-self.e*scipy.cos(x)
При выполнении всего кода я получаю сообщение об ошибке:
RuntimeError: Failed to converge after 10000 iterations, value is 5.25182613825
Если я запускаю его за меньшее количество итераций (50), я получаю:
RuntimeError: Failed to converge after 50 iterations, value is 5.25182613825
Сравнивая два значения, оно, очевидно, сходится.Даже если я уменьшу допуск до 10 ^ (- 2), я все равно получу ту же ошибку времени выполнения.
Кто-нибудь знает, почему эта ошибка возникает?