Мне нужно оценить число Пи до 100 знаков после запятой, используя метод Мачина, который заключается в следующем. 4 (4 (арктан (1/5)) - арктан (1/239)) = пи.
Эта формула, как известно, довольно быстро сходится к пи, при этом источники цитируют точность 72 знаков после десятичной точки в 50 итерациях / терминах.
Я могу достичь точности до 15 знаков после запятой, используя формулу Машина, и не могу понять, почему.
Я написал функцию для ряда Тейлора arctan (x), а затем использую эту функцию внутри другой функции, которая применяет формулу, которую я написал выше. Я также попытался установить более высокую точность с помощью модуля десятичных.
##This is the function for the taylor series of arctan(x)
def arctan(first_term, terms):
k = 0
array = []
if k < 1:
x = (((-1)**k)*(first_term)**((2*k)+1))/((2*k)+1)
k = 1
array.append(x)
if k > 0:
while k < terms:
x = x + (((-1)**k)*(first_term)**((2*k)+1))/((2*k)+1)
k += 1
array.append(x)
return array[-1]
##Here is the function for Machin's formula
def machinpi(first_term, first_term2, terms):
x = 4*(arctan(first_term, terms))-(arctan(first_term2, terms))
return x*4
Мачин известен оценкой числа Пи до 100 знаков после запятой вручную. Я пытаюсь выяснить, сколько терминов серии требуется для достижения этой точности. Тем не менее, я не могу найти ответ, если я не могу сначала сходиться к 100 десятичных знаков числа Пи. Используя формулу Мачина, я ожидаю, что она будет сходиться к 72 значениям после десятичного знака за 50 итераций.