这是我的问题:

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

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

我一直盯着代码,很长一段时间,不能看到我犯了一个错误的地方。

有帮助吗?

解决方案

我发现了这个问题。错误应该小于10 ^ -8不是10e-8。不知何故,在复制时,数字已更改。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top