牛顿法求根号数(Python)

简述

以前也是用过这个东西的,但是一直都不是很清楚原理。
后来理解了牛顿法了之后,发现这个东西,就是牛顿法的一个简单的应用而已。

代码

target:就是目标数
我们在下面就是为了求这个数的开根号。

同样的原理,我们只需要修改方程中的对应的指数,我们就可以实现了
func部分

from sympy import *

x = symbols("x")

target = 10
func = x ** 2 - target
ffunc = diff(func, x)
MAXSTEP = 100
step_count = 0
x0 = target / 2
temp = func.subs(x, x0)
while step_count < MAXSTEP and abs(temp) > 1e-10:
    x0 = x0 - (temp / (ffunc.subs(x, x0)))
    temp = func.subs(x, x0)
    step_count += 1
print(x0)
print(step_count)

猜你喜欢

转载自blog.csdn.net/a19990412/article/details/80816876