二分法的使用需要前提條件,即對形式為 f(x)=0 的非線性方程,有
f(x)∈C([a,b]),f(a)f(b)<0
這裡區間 [a,b] 是方程的根的隔離區間,由微積分中的連續性定理、介值定理可以知道這個區間中必然存在零點。
二分法是方程求根問題的一種直接搜索方法,優點是算法簡單直觀,數值解的精度易于判别,局限性是隻适用于标量方程,且需要事先确定一個方程的根的隔離區間,過大的隔離區間會導緻過長的搜索時間。
弦截法為獲得比二分法更快的速度,在其基礎上設計了弦截法
隔離區間中的精确解存在一個鄰域,在鄰域上連續二階可微且隔離區間中的精确解存在一個鄰域,f(x)在鄰域上連續二階可微且f′(x)≠0,Q=△max|f″|σmaxf′<1
之後不斷地在區間中取兩點并作弦線,尋找弦線與x軸的交點。
對于這個叠代逼近的過程,一般表達式為
xk 1=xk−xk−xk−1f(xk)−f(xk−1)f(xk),k=1,2,⋯
誤差估計的公式太複雜。
有些教材的弦截法是放在牛頓叠代法的後面的,就算是個殊途同歸吧。
Picard叠代法在皮卡叠代法中,假設的非線性方程的形式為 x=ϕ(x) ,那麼叠代的軌迹就是不斷地在 y=ϕ(x) 和 y=x 之間折返。 其縱坐标就不過是交線,而橫坐标由 x k 1=ϕ(xk) 決定。
皮卡叠代法依賴初始點的選取,選取得不合适很可能造成叠代過程發散。皮卡叠代法的收斂性準則要求叠代函數 ϕ(x) 滿足
存在有a<=ϕ(x)<=b存在q<1,有|ϕ′(x)|<=q<1
且誤差估計為
|x∗−xk|<=q1−q|xk−xk−1|
Aitken叠代法非線性方程在求解基本都是躲避不開叠代法( xk 和 xk 1 的遞進關系式)的,理論上 隻要叠代的次數足夠多,就可以得到任意精度的結果,但是收斂的過程往往緩慢,從而使得計算量巨大, 因此提出了很多加速叠代的方法。
對于精确解 x∗ 的某一個近似值 x0 ,使用叠代公式叠代一次後可以得到
x1=ϕ(x0)
那麼由微分中值定理,此時這一步的誤差為
x1−x∗=ϕ(x0)−ϕ(x∗)=ϕ′(ξ)(x0−x∗)
其中 ξ 為介于 x∗ 和 x0 的某一個值。
現在假設上式的的改變不大,近似地取近似值L,有
x1−x∗≈L(x0−x∗)
對校正值 x1=ϕ(x0) 再一次校正,向前走一步叠代有 x2=ϕ(x1) ,且
x2−x∗=L(x1−x∗)
聯立上一個行間式,有
x1−x∗x2−x∗≈x0−x∗x1−x∗
進而經簡化推知
x∗≈x0−(x1−x0)2x2−2x1 x0
這裡綜合了和,用以來表示方程的精确解,由此來看,這裡是在用計算和。略作推廣就可以得到遞進的關系式
xk 1=xk−(xk 1−xk)2xk 2−2xk 1 xk=xk−(Δxk)2Δ2xk,(k=0,1,⋯)
這就是Aitken加速方法。
可以證明
limk→∞xk 1−x∗xk−x∗=0
也就是說明了這個算法的收斂速度比原本的叠代公式更快。
若原叠代公式為線性收斂,那麼阿特金叠代法為平方收斂;若原叠代公式為p階收斂,且為p階連續 可導,那麼阿特金法是2p-1階收斂。
Steffensen叠代法将阿特金叠代法和不定點叠代法結合在一起就可以得到一個新的叠代法
yk=ϕ(xk),zk=ϕ(yk)xk 1=xk−(yk−xk)2zk−2yk xk,(k=0,1,⋯)
這個新的叠代方法被稱為是史蒂芬孫叠代法。
這個方法相當于在原本的叠代序列基礎上計算每一步的誤差 并構成了新的序列,對誤差列外推到0,即過點 (xk,ϵ(xk)) 和 (yk,ϵ(yk)) 作線性插值 函數,這個曲線與x軸的交點就是 xk 1 ,也就是方程
ϵ(xk) ϵ(yk)−ϵ(xk)yk−xk(x−xk)=0
的解 x=xk−(yk−xk)2zk−2yk xk=xk 1 。
史蒂芬孫叠代是2階收斂的。
牛頓叠代法
牛頓叠代法的思想非常精彩(而且我自己也成功地獨立設計出來了這個算法),它是對一個連續函數曲線作線性化的處理,再不斷地叠代修正。 對于非線性方程 f(x)=0 ,取一點 xk 作為精确解 x∗ 的近似值,在這一點上進行泰勒展開有
f(x)≈f(xk) f′(xk)(x−xk)
按理說 f′(xk) 一般不為零,于是就可以用切線不斷地逼近方程的解,這樣就可以得到牛頓叠代法的叠代公式
xk 1=xk−f(xk)f′(xk),(k=0,1,⋯)
分析牛頓叠代法的收斂性,當方程隻有單根時,其在鄰近區間是平方收斂的。
簡化牛頓法和牛頓下山法牛頓叠代法的缺點在于計算量大,且不一定很容易就能計算出一階導數,此外其收斂性也很 依賴選取的初始點,所以給出了基于牛頓法的擴展方法。
簡化牛頓法也稱為平行弦法,叠代公式為 xk 1=xk−Cf(xk),C≠0
叠代函數為 ϕ(x)=x−Cf(x) 。
平行弦法的意義在于計算量省,但是隻能線性收斂。
牛頓下山法的意義在于避免因初始值選取不當造成的結果發散
為了避免這類情況的發生從而 對叠代過程加上一個要求
|f(xk 1)|<|f(xk)|
也就是一個單調性的要求。隻要滿足了這個要求,就稱算法為下山法。
在實際計算時,将牛頓法與下山法結合起來使用,即在下山法保證函數值穩定下降的前提下,用 牛頓法加快收斂速度. 。為此,将牛頓法的結果與前一項的近似值進行适當地加權平均作為新的改進值
xk 1=λxk 10 (1−λ)xk
其中稱 λ 為下山因子,即有
xk 1=xk−λf(xk)f′(xk),(k=0,1,⋯)
就是牛頓下山法。
在選擇下山因子時,從1開始,逐次減半進行試算,直到使得單調下降條件成立。
抛物線法抛物線法和之前叠代法的思想是一樣的,都是用某種曲線(或者直線)去拟合,并尋找交點作為近似解。在這裡使用的拟合得到的結果就是一個抛物線。
抛物線法首先需要非線性方程的三個近似根,以此構造二次插值多項式。
抛物線法是超線性收斂。
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!