gpt4 book ai didi

python - 使用 Python 复制计算器结果

转载 作者:太空宇宙 更新时间:2023-11-04 03:49:55 26 4
gpt4 key购买 nike

我不知道如何让 Python 在执行重复正弦时表现得像我的计算器。

我的 Python 代码:

number = float(.565)
pi = float(math.pi)

for j in range(25):
number = round(math.sin(number*pi), 16)

这将返回 0.446445551265。

当我用我的计算器做同样的操作时,我得到 0.4464454868。

无论我为 round() 使用的精度如何,我都无法得到与我的计算器相同的结果。

我也尝试过使用 Decimal 库,但没有得到更好的结果。有什么想法吗?

最佳答案

以80位精度执行,结果以

开头

0.4464455542636494555603375755720232254414694834911

算法的误差分析表明,在每一步中,前一个误差乘以约pi(和当前点的余弦),即约3,并将当前浮点误差作为噪声添加。所以误差幅度是机器 epsilon 的 3^25 倍。

如果慷慨并且允许误差消除和实际导数值,也可以说误差放大因子约为 2^25,即双数尾数的 53 位中,最后 25 位被污染,只有前 28 位保持一定程度的可靠性,对应于大约 7-8 位可靠的十进制数字,如问题的陈述所示。

袖珍计算器的内部精度通常比显示的精度大很多,因此在那里找到更精确的结果并不意外。

关于python - 使用 Python 复制计算器结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21804652/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com