原理
五次及以上多项式方程没有根式解,这个是被伽罗瓦用群论做出的最著名的结论。但牛顿迭代法将探索高阶函数的问题简化为探索切线的问题。

详细描述:
如何通俗易懂地讲解牛顿迭代法? - 马同学 - CSDN博客
代码实践
def f(x):
return (x-3)**3 '''定义 f(x) = (x-3)^3'''
def fd(x):
return 3*((x-3)**2) '''切线函数,定义 f'(x) = 3*((x-3)^2)'''
def newtonMethod(n,assum):
time = n
x = assum
Next = 0
A = f(x)
B = fd(x)
print('A = ' + str(A) + ',B = ' + str(B) + ',time = ' + str(time))
if f(x) == 0.0:
return time,x
else:
Next = x - A/B
print('Next x = '+ str(Next))
if A - f(Next) < 1e-6:
print('Meet f(x) = 0,x = ' + str(Next)) '''设置迭代跳出条件,同时输出满足f(x) = 0的x值'''
else:
return newtonMethod(n+1,Next)
newtonMethod(0,4.0) '''设置从0开始计数,x0 = 4.0'''
网友评论