gpt4 book ai didi

Newton-Raphson 求根方法的 Python OverflowError

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

x=float(raw_input('Enter a number to show its square root'))
precise = 0.01
g=x/2.0
while abs(g**2-x)>=precise:
g=g-(g**2-x)/2*g
print g

这是一个基于牛顿-拉夫森求根方法的Python代码。当我在 Canopy 中运行它时,我可以找到 1 的根。但是当我输入 25 来查找根时,它会显示 OverflowError: (34, 'Result Too Large') 指向 while abs(g**2-x)>=precise: 行。感谢帮助

最佳答案

你确定你的算法吗?将 print g 移动到 while 循环中,您会发现 g 变得非常非常大,非常快。然后你试图将其平方。你的分母应该是2*g吗?如果是这样,那么您应该在它周围加上括号,例如 (2*g),因为您要除以 2,然后乘以 g。可能不是你想做的。

关于Newton-Raphson 求根方法的 Python OverflowError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33154849/

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