3、方程出發(fā),建立求格點(diǎn)函數(shù)的差分方程。這個方程應(yīng)該滿足:A、解存在唯一;B、穩(wěn)定,收斂;C、相容數(shù)值方法,主要研究步驟②,即如何建立差分方程,并研究差分方程的性質(zhì)。這種方法,稱為數(shù)值離散方法。求的是在一系列離散點(diǎn)列上,求未知函數(shù)y在這些點(diǎn)上的值的近似。我們的目的,就是求這個格點(diǎn)函數(shù)為了考察數(shù)值方法提供的數(shù)值解,是否有實(shí)用價值,需要知道如下幾個結(jié)論:①步長充分小時,所得到的數(shù)值解能否逼近問題的真解;即收斂性問題②誤差估計(jì)產(chǎn)生得舍入誤差,在以后得各步計(jì)算中,是否會無限制擴(kuò)大;穩(wěn)定性問題做等距分割,利用數(shù)值微分代替導(dǎo)數(shù)項(xiàng),建立差分方
4、程。1、向前差商公式所以,可以構(gòu)造差分方程稱為局部截?cái)嗾`差。顯然,這個誤差在逐步計(jì)算過程中會傳播,積累。因此還要估計(jì)這種積累歐拉法定義在假設(shè)yi=y(xi),即第i步計(jì)算是精確的前提下,考慮的截?cái)嗾`差Ri=y(xi+1)?yi+1稱為局部截?cái)嗾`差/*localtruncationerror*/。定義若某算法的局部截?cái)嗾`差為O(hp+1),則稱該算法有p階精度。?歐拉法的局部截?cái)嗾`差:歐拉法具有1階精度。?歐拉公式的改進(jìn):?隱式歐拉法/*implicitEulermethod*/向后差商近似導(dǎo)數(shù)x0x1))(,()(1101x
5、yxfhyxy+?)1,...,0(),(111-=+=+++niyxfhyyiiii由于未知數(shù)yi+1同時出現(xiàn)在等式的兩邊,不能直接得到,故稱為隱式/*implicit*/歐拉公式,而前者稱為顯式/*explicit*/歐拉公式。一般先用顯式計(jì)算一個初值,再迭代求解。?隱式歐拉法的局部截?cái)嗾`差:即隱式歐拉公式具有1階精度。例5.1用歐拉法求初值問題當(dāng)h=0.02時在區(qū)間[0,0.10]上的數(shù)值解。方程真解:nxnyny(xn)?n=y(xn)-yn001.00001.0000010.020.98200.98250.0005
6、20.040.96500.96600.000530.060.94890.95030.001440.080.93360.93540.001850.100.91920.9230.0021?梯形公式/*trapezoidformula*/—顯、隱式兩種算法的平均注:有局部截?cái)嗾`差,即梯形公式具有2階精度,比歐拉方法有了進(jìn)步。但注意到該公式是隱式公式,計(jì)算時不得不用到迭代法,其迭代收斂性與歐拉公式相似。?中點(diǎn)歐拉公式/*midpointformula*/中心差商近似導(dǎo)數(shù)x0x2x1假設(shè),則可以導(dǎo)出即中點(diǎn)公式具有2階精度。需要2個初值
7、y0和y1來啟動遞推過程,這樣的算法稱為雙步法/*double-stepmethod*/,而前面的三種算法都是單步法/*single-stepmethod*/。方法??顯式歐拉隱式歐拉梯形公式中點(diǎn)公式簡單精度低穩(wěn)定性最好精度低,計(jì)算量大精度提高計(jì)算量大精度提高,顯式多一個初值,可能影響精度使用梯形公式計(jì)算時,常采用Euler方法提供迭代初值,則梯形法的迭代公式為:分析迭代過程的收斂性,可得于是有梯形方法雖然提高了精度,但算法復(fù)雜,在應(yīng)用迭代公式進(jìn)行實(shí)際計(jì)算的時候,每迭代一次,都要重新計(jì)算函數(shù)值,而迭代又要反復(fù)進(jìn)行若干次,計(jì)算
8、量很大,而且往往難以預(yù)測。為了控制計(jì)算量,通常只迭代一兩次就轉(zhuǎn)入下一步計(jì)算,從而簡化算法。?改進(jìn)歐拉法/*modifiedEuler’smethod*/Step1:先用顯式歐拉公式作預(yù)測,算出),(1iiiiyxfhyy+=+Step2:再將代入隱式梯形公式的右邊作校正,得到1+iy)],