2

这是我的问题:

使用以下系列计算 π 的值:

((π^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,但这不是正确的答案。我一直在试图弄清楚我的代码有什么问题,它不能满足我的需要。

我已经盯着代码看了很长一段时间,看不出我在哪里犯了错误。

4

1 回答 1

2

我发现了问题。错误应该小于 10^-8 而不是 10e-8。不知何故,数字在复制时发生了变化。

于 2012-01-24T16:26:43.570 回答