2024-04-26 12:16:34 发布
网友
我要用莱布尼兹级数的和求π到n个有效数字所需的项数。我已经找到了pi的和和和近似值,但我不知道如何开始编写比较两个变量中sigfig的函数,甚至不知道如何确定给定数中sigfig的个数。任何帮助都将不胜感激,谢谢。
sum = 0 for i in range(800001): int = ((-1)**i) / (2*i+1) sum += int print(sum) pi = sum*4
打印(pi)
由于这个问题的背景,我怀疑你实际上并不想知道如何检查最低有效位数,而是想知道你的近似值何时足够好。在
当通过计算一个序列的和来近似任何值时,终止计算的最简单方法是改进答案,直到它足够接近,从而使其平方(或绝对值)与上一项相差小于预定公差。在
一个好的方法是检查,而不是使用for循环,而是使用一个while循环来检查答案是否与前面提到的容差不同。在
for
while
系数(-1)**i表示级数中的项有交替符号。而且,这些项的数量是单调递减的。这种级数的一个特性是,截断级数所引起的误差小于包含的最小项。在
由于这个问题的背景,我怀疑你实际上并不想知道如何检查最低有效位数,而是想知道你的近似值何时足够好。在
当通过计算一个序列的和来近似任何值时,终止计算的最简单方法是改进答案,直到它足够接近,从而使其平方(或绝对值)与上一项相差小于预定公差。在
一个好的方法是检查,而不是使用
for
循环,而是使用一个while
循环来检查答案是否与前面提到的容差不同。在系数(-1)**i表示级数中的项有交替符号。而且,这些项的数量是单调递减的。这种级数的一个特性是,截断级数所引起的误差小于包含的最小项。在
相关问题 更多 >
编程相关推荐