资源描述:
《【精品】数值分析5-2》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、§5.4数值微分(NumericalDiffercntiation)一、问题的提出在微积分里,求函数/(对的导数厂(兀)一般來说是容易办到的,但有时广(兀)比/(x)杂的多.而当函数/(X)仅由表格形式给出时,要求出/'(X)就不那么容易了.根据函数在一些离散点上的函数值来推算它在某点处的导数的近似值的方法称为数值微分.最简单的数值微分公式是用前向差商近似替代导数,即/(兀0+/?)-/(兀0)h类似地,也可用后向差商近似替代导数,即h或者用屮心差商近似替代导数,即厂缶)=/(兀()+力)一/(心一/2)在几何上这3种差商分别表示弦AC,AB,BC的斜率.将这3条弦同过A点的切线
2、相比较,一般來说,/z(x0).因此,就精度而言用屮心羌商替代导数更为可取•故称D⑹一/(兀。+力-/(兀力2/1为求厂(兀°)的中点公式.-•般地,不同的数值微分公式导出不同的差分方程,因此如何构造数值微分公式及研究它们的性质是很有意义的•这一节主要介绍构造数值微分法的原理,Taylor展开原理、插值原理和三次样条原理.二、77%厂展开法在这里我们将用Taylor公式推导上面的差商、中点公式,给出f(x)二阶导数的显式数值微分公式,并建立f(x)-阶、二阶导数的具有精度隐式数值微分公式.由Taylor公式,将/*(兀°+h),/(x0-力)在点兀°展开成5次Taylor公式,则
3、,/?2//3/(%0+/1)=/(%0)+/?/(%o)+—/(-^0)+y/(兀0)石4h5+石/⑷偽)+孑于⑸(无))+0(泸)(1)/(兀0-h)=/(Xo)-犷(兀0)+务八兀0)■与广(兀。)Z74+石/⑷(x0)—/⑸(兀。)+0(泸)如果展开成一阶Taylor公式(相当于在上式中収2项),通过简单的整理得到:/匕戸门心+炖一/缶)冷厂©,兵(“+力及若舍去右端的二阶导数项(称为截断误差),则有fz(x0)—/("+h)~(forward-differeneeformula)(3)/'(兀0)=~~/(兀。———(backward-differeneeformula
4、)(4)若用(1)-(2)将消去二阶、四阶导数项,经整理得:心)二/(%+/匕/(兀。+)_h_厂(心)—字⑸(x())+0Q笛2h用(1)+(2)消去一阶、三阶、五阶导数项,整理得:八兀。)二2/严)+/此一)€严(心)+0(胪)h2舍去示面的高阶导数项,得到ruo)-/(Xo+/?)-/(x°~/?)(中心差商)2/i(5)f)〜于(兀0+力)一2/(x0)+f(xQ一h)h2(6)公式(3)(4)(5)(6)称为一阶、二阶导数的显式数值微分公式•从公式及其截断误差看出:理论上步长力越小计算精度越高,但是从计算介度看,/?越小,/(Xo+/?)与fh)越接近,肓接相减会造成有
5、效数字的严重损失•如果考虑舍入误差,假设/(兀o+力与/(兀0-力分别有舍入误差d,J令£=max励旭
6、},则数值计算/©())产生的误差为:〃(厂(可)))=厂(观)-尸(兀())』打:區1冬手2/?h从中町以看出,随着/7的越來越小,误差将变得越來越大,这是一个病态问题•因此,在实际计算时,步长力不宜収太小,也不宜収太大.在中心差商公式中,可以证明其截断误差上界为—M,K中6M=max
7、/"U)
8、.因而其舍入误差和截断误差的和为:£/72£(/?)=_+—Mh6利用一元函数的微分学不难得到使E(/2)达到最小的最优步长为:如」浙数fM=e^x在区间[1,2]上用屮心差商公式计
9、算其一阶导数时,如果苗数值给出4位小数,即£=0.5x107,则可以算岀:从而最优步长=33x0.5xl(r4=0.0381卞面我们利用Taylor公式构造具有精度的关于一阶、二阶导数的隐式数值微分公式.1.一阶导数的隐式公式已知节点兀0,兀1,…,百处的函数值于(兀0),(X]),…,.f(X)和两端的边界条件/z(x0),/z(xJ,求广(耳)伙=0,1,2,・・・,兄一1)•在点无处,Taylor公式g+h)-f(Xk-小Jk2h埠ru)+o(/r)及)+心_)韦严g+M)h12则/(忑+力)一/(忑一/2)2hh2~6fg+h)_2/"(忑)+fg_h)*o(胪h2略去误
10、差项,用®•近似表示厂(忑),并记兀+/2二忑°,Xk~h=(这在微分方程中经常使用,将解域均匀的分成〃部分,每部分的长度记为h,则疋+n得到:%二;—/(“))一:•(""+】—2%+加-1)2/26简单整理得:3叫I+4%+mk-=-(f(XM)-f(无))伙=0,1,2,…/j)n这是一个有”-1个方程,但有〃+1个变量“),“,…,叫的线性方程组.如果加上边界条件:叫二广(兀0),叫二厂(兀“),且记=f(xk+l)-f(xk)(差分),则具有精度胪的一阶导数隐格式方程