Я написал некоторый код для аппроксимации интеграла:используя Python 3.7, но происходит странное поведение, которое дает мне неверный результат.Я вывел формулу следующим образом:
Пустьзатема такжедля n = 1,2,3 ...
Это реализовано в моем коде:
import numpy as np
I = 1
for n in range(1,21):
I = 2*(np.log(2))**n - n*I
Это должно привести к I = 0,0000419426270488826, но мой код дает мне 50,40429353428721.Я пытался выяснить, что происходит, используя операторы print:
print("Iteration: ",n)
print("first half: ",2*(np.log(2))**n)
print("second half: ", n*I)
print("New I: ",I, "\n")
Вы можете видеть, что вторая половина уравнения становится отрицательной на итерации 17, но я не понимаю, почему, так как обаЯ и п должны быть положительными.Я предполагаю, что именно здесь начинаются проблемы.Кто-нибудь знает, почему результат неверен, и если мое предположение верно?Я использую Mac OS X el Capitan 10.11.6