Python如何使用牛顿法在日志(part2)中计算平方根的步骤详解?

2026-06-10 22:071阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计342个文字,预计阅读时间需要2分钟。

Python如何使用牛顿法在日志(part2)中计算平方根的步骤详解?

学习笔记,仅供参考,有误必纠。计算公式:若我们想计算平方根,可以先任意取一个x的值,然后将x带入以下公式,获得一个更接近的估计值y:y=(x + 1/x) / 2。得到估计值y后,将y赋值给x,再次带入公式,得到更精确的估计值。

学习笔记,仅供参考,有错必纠


计算方程式



如果我们想计算的平方根,可以先任意取一个x的值,再将x带入如下方程,获得一个更好的估计值y:

Python如何使用牛顿法在日志(part2)中计算平方根的步骤详解?

得到估计值y后,我们将y赋值给x,再将x带入上述方程中,得到新的y值,再将新的y赋值给x,以此类推…最终得到"最好的"估计值y.



python实现



import random

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.34220698706773
16.731087525208068
8.485081718339828
4.4782486656931155
2.6857274916486946
2.0875409352335583
2.0018355125909686
2.0000008415043222
2.000000000000177
2.0
4的平方根为 2.0


本文共计342个文字,预计阅读时间需要2分钟。

Python如何使用牛顿法在日志(part2)中计算平方根的步骤详解?

学习笔记,仅供参考,有误必纠。计算公式:若我们想计算平方根,可以先任意取一个x的值,然后将x带入以下公式,获得一个更接近的估计值y:y=(x + 1/x) / 2。得到估计值y后,将y赋值给x,再次带入公式,得到更精确的估计值。

学习笔记,仅供参考,有错必纠


计算方程式



如果我们想计算的平方根,可以先任意取一个x的值,再将x带入如下方程,获得一个更好的估计值y:

Python如何使用牛顿法在日志(part2)中计算平方根的步骤详解?

得到估计值y后,我们将y赋值给x,再将x带入上述方程中,得到新的y值,再将新的y赋值给x,以此类推…最终得到"最好的"估计值y.



python实现



import random

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.34220698706773
16.731087525208068
8.485081718339828
4.4782486656931155
2.6857274916486946
2.0875409352335583
2.0018355125909686
2.0000008415043222
2.000000000000177
2.0
4的平方根为 2.0