这是我的问题:
使用以下系列计算π的值:
((π^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,但这不是正确的答案。我一直试图找出我的代码有什么问题,它没有做我需要的东西。
我一直盯着代码看了很长时间,无法看出我犯了什么错误。
答案 0 :(得分:2)
我发现了问题。错误应该小于10 ^ -8而不是10e-8。不知何故,数字在复制时被改变了。