Оценка величины Пи с сериями - PullRequest
2 голосов
/ 24 января 2012

Вот моя проблема:

Вычислить значение π, используя следующие серии:

((π^2)-8)/16=[sum from 1 to pos. infinity] 1/(((2n−1)^2)*((2n+1)^2))

• Найдите наименьшее число членов, необходимое для получения абсолютного значения ошибки на π, меньшем 10e-8.

Вот мой код:

x=0;
for i=1:1000

    x=x+(1/((((2*i)-1)^2)*(((2*i)+1)^2)));
    z=sqrt((x*16)+8);
    error=abs(z-pi);
    if (error < 10e-8)
        i
        break
    end
end

Ответ, который я получаю, - 81, когда цикл прерывается, но это не правильный ответ. Я пытался выяснить, что не так с моим кодом, что он не делает то, что мне нужно.

Я давно смотрю на код и не вижу, где я допустил ошибку.

1 Ответ

2 голосов
/ 24 января 2012

Я нашел проблему.Предполагается, что ошибка будет меньше 10 ^ -8, а не 10e-8.Каким-то образом цифры изменились при копировании.

...