引自Numerical Methods Using MATLAB(4版)書籍痘煤,如有侵權(quán)請(qǐng)聯(lián)系刪除
前言
這一章節(jié)主要講述求這一方程根的不同方法辱士。
學(xué)習(xí)總結(jié)
不動(dòng)點(diǎn)迭代
我們假設(shè)按照這一函數(shù)迭代日裙,初始值為,那么我們接下來會(huì)得到序列。如果這個(gè)序列是收斂的,那么能得到一個(gè)不動(dòng)點(diǎn)使得史侣。
當(dāng)時(shí)拴泌,有以下幾條定理:
1、如果滿足惊橱,蚪腐,那么在中有不動(dòng)點(diǎn)。
2李皇、如果在中有定義且對(duì)任意存在削茁,那么在上有唯一不動(dòng)點(diǎn)宙枷。
當(dāng)對(duì)所有時(shí)掉房,有以下幾條定理:
1、如果對(duì)任意存在慰丛,那么迭代收斂到唯一不動(dòng)點(diǎn)卓囚,稱為吸引不動(dòng)點(diǎn)。
2诅病、如果對(duì)任意存在哪亿,那么迭代無法收斂到不動(dòng)點(diǎn),稱為反叛不動(dòng)點(diǎn)贤笆。
P46的公式14是如何得到的蝇棉?
|a-b|<=|a-c|+|c-b|
方法一 二分法
二分法的過程很簡(jiǎn)單在此不過多贅述。
二分法的定理:
假設(shè)芥永,并且存在使得篡殷。如果和符號(hào)相反,且代表二分過程中中間點(diǎn)序列埋涧,那么有
且有
二分法的優(yōu)點(diǎn):
可以提前預(yù)估解的精確度板辽。假設(shè)重復(fù)次二分,那么我們通過以下能夠保證近似于解棘催,且誤差少于:
proof.
方法二 錯(cuò)位法
因?yàn)槎址ㄊ諗康帽容^慢劲弦,所以我們發(fā)明了錯(cuò)位法。
錯(cuò)位法的原理:
該方法連接和兩點(diǎn)醇坝,其連線在軸的交點(diǎn)取為邑跪,然后和二分法一樣,與哪個(gè)端點(diǎn)互為相反數(shù)呼猪,則更新區(qū)間画畅。
其中求的公式如下:
其中,二分法的誤差err=abs(b-a)郑叠,錯(cuò)位法的誤差err=abs(b-a)/2
但是錯(cuò)位法的誤差為什么是這樣的呢夜赵?證明?
逼近區(qū)域的初始化和收斂標(biāo)準(zhǔn)
上述方法都是全局收斂的乡革,但如果在區(qū)間內(nèi)有多個(gè)解寇僧,那么我們就需要更小的區(qū)間分別來尋找這些解摊腋。接下來會(huì)描述Newton-Raphson和割線法來求解,這兩種方法都是求局部收斂的嘁傀。這種局部收斂會(huì)收斂得更快兴蒸。有部分算法會(huì)結(jié)合這兩種類型的算法,在開始使用全局收斂细办,當(dāng)接近根的時(shí)候再使用局部收斂橙凳。
作圖是一種方法。但是計(jì)算機(jī)有時(shí)候也會(huì)遇到精確度不夠的特殊情況笑撞,我們需要考慮到岛啸。與此同時(shí),由于計(jì)算機(jī)精度有限茴肥,我們可能會(huì)遇到的情況坚踩,這時(shí)候我們需要判斷附近和兩點(diǎn)斜率是否相反,相反才行瓤狐。
即瞬铸,判斷根,一個(gè)是兩邊符合相反础锐,一個(gè)是兩邊斜率相反且嗓节。
對(duì)于計(jì)算機(jī)求根,我們需要一個(gè)算法來判斷什么時(shí)候循環(huán)終止皆警,因此我們需要制定數(shù)值拦宣,防止死循環(huán),同時(shí)也要保持一定精度耀怜。我們可以有以下兩種評(píng)判標(biāo)準(zhǔn):
(其中恢着,第二種標(biāo)準(zhǔn)為什么不是直接除,是為了防止除0現(xiàn)象财破。)
解誤差與殘差的區(qū)別
如圖掰派,解誤差是的誤差,殘差是的誤差左痢。一般情況下我們很難得到靡羡,所以解誤差少用。
方法三 Newton-Raphson法
如果f(x)俊性,f'(x)略步,f''(x)在根p附近連續(xù),那么我們可以使用更快的算法來收斂定页,其中Newton-Raphson法就是其中最有用和最出名的算法之一趟薄。牛頓法并不能保證找到根,也會(huì)出現(xiàn)循環(huán)或發(fā)散的情況典徊。
Newton-Raphson法的原理
假設(shè)杭煎,且恩够,。如果羡铲,則存在使得序列滿足以下公式:
其中序列最終收斂到蜂桶,且。
且根據(jù)不動(dòng)點(diǎn)迭代的原理也切,需滿足
proof.
非常逼近
Newton-Raphson法的推論
可以用來找平方根扑媚,這個(gè)推論的重點(diǎn)在于函數(shù)g(x)只能有簡(jiǎn)單的加減乘除運(yùn)算,如果有根號(hào)運(yùn)算雷恃,可能會(huì)陷入循環(huán)疆股,因此我們采用這種推論求根號(hào)。
假設(shè)且褂萧,有
使得押桃。
proof.
設(shè),再用牛頓法求根迭代导犹。
根的定義
假設(shè)及其階導(dǎo)數(shù)在上有定義且連續(xù),并當(dāng)且僅當(dāng)
則我們稱在上有個(gè)根羡忘。
且存在一個(gè)連續(xù)函數(shù)可以表達(dá)為
收斂速度
如果p是單根谎痢,那么牛頓法可以快速收斂,每次迭代精確的小數(shù)位數(shù)都可以翻倍卷雕。如果p是多根节猿,每次后繼誤差都是前面誤差的一部分。這里是為什么漫雕?
假設(shè)收斂到滨嘱,且有(解誤差,可以用殘差代替)浸间。如果正常量太雨,存在,則
其中為序列收斂到的階數(shù)魁蒜,為漸進(jìn)誤差常量囊扳。
當(dāng)時(shí),一般有兜看,稱為線性收斂锥咸。
當(dāng)時(shí),一般有為常量即可细移,稱為平方收斂搏予。
越大,收斂得越快弧轧。
牛頓法收斂速度的定理
如果是單根雪侥,收斂速度是平方的球涛,。
如果是根校镐,收斂速度是線性的亿扁,。
加速牛頓法的收斂速度
牛頓法是線性收斂到根的鸟廓,為了加速从祝,我們可以使用以下公式產(chǎn)生序列平方收斂到根:
方法四 割線法
割線法與錯(cuò)位法幾乎是一樣的,但是錯(cuò)位法是在縮小區(qū)間引谜,割線法是在快速找點(diǎn)牍陌。其單根收斂階數(shù)為 R ≈ 1.618033989。
方法五 Aitken's Process
牛頓法中對(duì)于多根收斂速度是線性的员咽,而使用加速牛頓法毒涧,得提前知道根的個(gè)數(shù)。因此我們提出一些其他方法來加速贝室。
定義
對(duì)于收斂數(shù)列契讲,定義。而滑频。
舉例:捡偏。
定理
假設(shè)數(shù)列線性收斂到,且對(duì)所有有峡迷。如果這里存在一個(gè)實(shí)數(shù)银伟,有使得
則我們可以定義數(shù)列有
通過我們可以知道收斂要快于。
方法六 Muller's Method
該方法是割線法的另一種演繹绘搞,只是減去了導(dǎo)數(shù)的計(jì)算彤避,但需要三個(gè)點(diǎn)。該方法比割線法快甚至幾乎和牛頓法一樣快夯辖,但會(huì)涉及復(fù)雜一點(diǎn)的運(yùn)算琉预。
假設(shè)是最近似的點(diǎn),定義變量楼雹,模孩,。
定義二元方程贮缅。
代入榨咐,我們可以分別得到以下式子:
通過以上式子我們求得。然后求根谴供。最后可得块茁。在之后的迭代中,我們舍去中離最遠(yuǎn)的點(diǎn),并將数焊。
詞匯學(xué)習(xí)
spherical 球形
corollary 必然的
oscillate 擺動(dòng)
interval 間隔的
consecutive 連續(xù)的
leisure 休閑
concavity 凹
slope 坡
quotient 商
secant 割線
projectile 彈丸
elapse 過去
fitfall 健身
lemma 引理
asymptotic 漸進(jìn)的
parabola 拋物線
auxiliary 輔助的