原理
五次及以上多項式方程沒有根式解崔步,這個是被伽羅瓦用群論做出的最著名的結(jié)論刊殉。但牛頓迭代法將探索高階函數(shù)的問題簡化為探索切線的問題涮坐。
詳細描述:
如何通俗易懂地講解牛頓迭代法吓笙? - 馬同學 - CSDN博客
代碼實踐
def f(x):
return (x-3)**3 '''定義 f(x) = (x-3)^3'''
def fd(x):
return 3*((x-3)**2) '''切線函數(shù)己儒,定義 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開始計數(shù),x0 = 4.0'''