普通人學(xué)python有意義嗎 牛頓迭代格式?
牛頓迭代格式?牛頓法,又稱牛頓-拉夫遜法,是牛頓在17世紀(jì)提出的一種近似求解實(shí)數(shù)域和復(fù)數(shù)域方程組的方法。大多數(shù)方程都沒(méi)有求根的公式,所以求精確根是非常困難甚至不可能的,所以求方程的近似根是非常重要的。
牛頓迭代格式?
牛頓法,又稱牛頓-拉夫遜法,是牛頓在17世紀(jì)提出的一種近似求解實(shí)數(shù)域和復(fù)數(shù)域方程組的方法。大多數(shù)方程都沒(méi)有求根的公式,所以求精確根是非常困難甚至不可能的,所以求方程的近似根是非常重要的。方法利用函數(shù)f(x)泰勒級(jí)數(shù)的前幾項(xiàng)求方程f(x)=0的根。牛頓迭代法是求解方程根的重要方法之一。它的最大優(yōu)點(diǎn)是在方程f(x)=0的單根附近具有平方收斂性,也可用于求方程的重根和復(fù)根。此外,這種方法在計(jì)算機(jī)程序設(shè)計(jì)中也得到了廣泛的應(yīng)用。
設(shè)R為F(x)=0的根,選擇x0作為R的初始近似值,并使曲線y=F(x)的切線l穿過(guò)點(diǎn)(x0,F(xiàn)(x0))。L的方程為y=f(x0)f“(x0)(x-x0),求L軸與x軸交點(diǎn)的橫坐標(biāo)X1=x0-f(x0)/f”(x0),稱為R的一次近似。通過(guò)點(diǎn)(X1,f(X1)),使曲線的切線y=f(x),求切線與x軸交點(diǎn)的橫坐標(biāo)x2=X1-f(X1)/f“(X1)X軸,稱為R的二次近似,重復(fù)上述過(guò)程,得到R的近似值序列,其中X(n1)=X(n)-f(X(n))/f“(X(n)),稱為n1次R的近似值,上述公式稱為牛頓迭代公式。
根據(jù)牛頓迭代原理,我們可以得到如下迭代公式:X(n1)=[X(n)P/xn]/2
數(shù)學(xué)定義:迭代公式是用當(dāng)前值替換成一個(gè)公式,計(jì)算出下一個(gè)值,然后將下一個(gè)值替換成公式,依此類(lèi)推。例如:x=(x2/x)/2如果取任意x=10代入,則得到x=(102/10)/2=5.1,然后代入,x=(5.12/5.1)/2=2.746,然后代入,則得到1.737,依此類(lèi)推。
在Python中,也可以遞歸調(diào)用迭代公式。下面是一個(gè)示例:
def f(n):
如果n==0或n==1或n==2:返回1
否則:返回f(n-1)f(n-2)
這是第n項(xiàng)斐波那契數(shù)的簡(jiǎn)單解。這是迭代公式。另一個(gè)例子是牛頓迭代法,它使用累進(jìn)效應(yīng)來(lái)求N的根。下面的例子是:
def f(guess):
return guess**2
def FD(guess):
return 2*guess
def squarerootnr(x,epsilon):
guess=x/2.0
diff=f(guess)-x
CTR=1
而ABS(diff)> epsilon和CTR
guess=guess-diff/FD(guess)
diff=f(guess)-x
CTR=1