使用级数估算 Pi 值

发布于 2024-12-28 17:15:02 字数 483 浏览 2 评论 0原文

我的问题是:

使用以下级数计算 π 的值:

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

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

Here's my problem:

Compute the value of π using the following series:

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

• Find the smallest number of terms required to obtain an absolute value of the error on π smaller than 10e−8.

Here's my code:

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

The answer that I get is 81 when the loop breaks, but it is not the right answer. I have been trying to figure out what is wrong with my code that it doesn't do what I need.

I've been staring at the code for quite a while and cant see where I made a mistake.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

迷爱 2025-01-04 17:15:02

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

I found the problem. The error is supposed to be less than 10^-8 not 10e-8. Somehow the numbers got changed over when copying.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文