学习笔记,仅供参考,有错必纠 计算方程式 如果我们想计算 的平方根,可以先任意取一个x的值,再将x带入如下方程,获得一个更好的估计值y: 得到估计值y后,我们将y赋值给x,再将
学习笔记,仅供参考,有错必纠
计算方程式
如果我们想计算的平方根,可以先任意取一个x的值,再将x带入如下方程,获得一个更好的估计值y:
得到估计值y后,我们将y赋值给x,再将x带入上述方程中,得到新的y值,再将新的y赋值给x,以此类推…最终得到"最好的"估计值y.
python实现
def NewtonSqrt(a, epsilon = 0.0000001):
x = random.uniform(1,100)
print(x)
while True:
y = (x + a/x)/2
print(y)
if abs(y - x) < epsilon:
return y
else:
x = y
a = 4
print('{}的平方根为'.format(a), NewtonSqrt(a))
输出:
33.3422069870677316.731087525208068
8.485081718339828
4.4782486656931155
2.6857274916486946
2.0875409352335583
2.0018355125909686
2.0000008415043222
2.000000000000177
2.0
4的平方根为 2.0