数值分析(20)数值微分

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

数值分析数值分析第五节数值微分在实际问题中,往往会遇到某函数f(x)是用表格表示的,用通常的导数定义无法求导,因此要寻求其他方法近似求导。常用的数值微分方法有:一.运用差商求数值微分二.运用插值函数求数值微分三.运用样条插值函数求数值微分四.运用数值积分求数值微分数值分析数值分析一.运用差商求数值微分最简单直接的数值微分方法就是用差商代替微商.可用差商来逼近导数充分小时当,hhhxfhxfhhxfxfhxfhxfxfxiihiihiihii)2()2(lim)()(lim)()(lim)(',000处在点根据导数定义数值分析数值分析1()()'():.iiiiiiiifxfxhffxhhffffx称为在点的一一阶阶向后差商式向后差分公1()()'():.iiiiiiiifxhfxffxhhffffx称为在点的一一阶阶向前差商式向前差分公1122()()2:2'().iiiiiiiihhfxfxffxhhffffx一阶中心称为在的一阶中差商公心差分式数值分析数值分析'1'111'2222()()()()()()()()()iiiiiiiiiiiiffffxOhOhhhffffxOhOhhhffffxOhOhhh一阶向前差商公式一阶向后差商公式一阶中心差商公式利用Taylor展开可导出数值微分公式并估计误差.()()'()''()2iiifxhfxhfxfh得一阶向前差商公式2()()()'()''()2iiiifxxhTaylorhfxhfxfxhf对在点以为增量作展开有证明:数值分析数值分析一阶导数的三点公式:'2121(34)()2iiiiffffOhh证明:2'312'32()2()(1)242()(2)2iiiiiiiiifxxhhTaylorhffhffOhhffhffOh将在点处分别以增量和作展开,有412if由()()可消去可得到三点公式同样的方法可以得到其它的三点公式是:'212'22121()()21(43)()2iiiiiiifffOhhffffOhh数值分析数值分析2''2211222()()()iiiiifffffxOhOhhh二阶中心差商公式211221111:()()()():(12)iiiiiiiiiiifffffffffff证验证明23342334()11()()'()''()()()23!11()()'()''()()())(223!iiiiiiiiiiifxxhTaylorfxhfxfxhfxhfxhOhfxhfxfxhfxhfxhOh()()对在点以为增量作展开有)(2)(2211''2hOhfffxfhiiii得:两式相加除以数值分析数值分析二、运用插值函数求数值微分baxxLxfnxnnfn)()()(1)1()!1()(设Ln(x)是f(x)的过点{x0,x1,x2,…xn}[a,b]的n次插值多项式,由Lagrange插值余项,有对任意给定的x[a,b],总存在如下关系式:若取数值微分公式)()('xLxfn误差为:)!1()()()()!1()()()()()1(11)1('ndxdxxnxLxfxRxnnnxnnffn数值分析数值分析(1)(1)'10()()()()()()()(1)!(1)!nnniiniininiikkkiRxfxLxxxxnnff(1)1(1)1()(),,(1)!()()0,(1)!nxnxnxnidxdxndxdxnff中是未知的其误差不能估计注意到在插值节点处此时的余项为因此插值型求导公式常用于求节点处的导数值01101'01()(())()(()'()0,1,...,)()()()()()()kknkkkknkkkninikkikxxxxxfxLxfxlxxxlxixxxxnxxxxx称为n+1点求导公式。数值分析数值分析常用的数值微分公式是n=1,2的插值型微分公式.当n=1时,有1,0)(!2)()()()(2)2('11ixxLxfxRiiiiif1,0)()()()(0101'1ixxxfxfxLxfii1000011112010()()()()(1)2()()()()(2)21(2)hxxfxhfxhfxfhfxfxhhfxfhxx令()称为点的向前差商公式,称为点的向后差商公式。数值分析数值分析例1设f(x)=lnx,x0=1.8,用2点公式计算f'(x0)。0222()'(),221.81.81.81.8(1.8)(1.8)(1.8)(1.8)2(1.8)2(1.8)0.10.54067220.01543210.57158410.01730100.010.55401800.00154320.55710450.00156050.0010.5554hfhfxhhfhfhffhhhhhh计算的误差为这里或列表计算如下:解:.0130.00015430.555709930.0001545'(1.8)0.555f数值分析数值分析当n=2时,有2,1,0)()(61))((2)())((2)())((2)()()(61)(')()(20)3(12021022101201201021020)3(20ixxfxxxxxxxxfxxxxxxxxfxxxxxxxxfxxfxlxfxfikkkiiiiiikkkiiikkki当节点等距时,即有x1=x0+h,x2=x0+2h,h0,上述公式可简化为数值分析数值分析2002012)3(221021)3(20210)3(22100,2,)(32)(3)(4)()()(62)()()()(32)()(4)(3)(xxhxxhxxfhhxfxfxfxffhhxfxfxffhhxfxfxfxfi这里有时,也将xi统一表为x0,将上述公式写成如下形式2(3)000002(3)00012(3)00002003()4()(2)()()(3)23()()()()(4)26(2)4()3()()()(5)23,0,1,2.(3)(4)(5)3ifxfxhfxhhfxfhfxhfxhhfxfhfxhfxhfxhfxfhxhxhi、、称为点公式。n=2时,计算f’(x0)的误差是O(h2),且(4)的误差最小。数值分析数值分析2(3)000002(3)00012(3)000023()4()(2)()()(3)23()()()()(4)26(2)4()3()()()(5)23fxfxhfxhhfxfhfxhfxhhfxfhfxhfxhfxhfxfh例2设f(x)=xex,x0=2,用3点公式计算f'(x0)。21113450.122.03231022.22879022.0545250.222.4141636.16101.35101.13102.4710'()(1),'(2)22.167168xhfxxef公式()公式()公式()误差()1.810.8893651.912.7031992.014.7781122.117.1489572.219.855030xfx较精确数值分析数值分析由上式,f'(2)≈22.166996,误差为:1.69×10-4用5点公式计算f'(2):当n=4时,可得到5点公式:000004(5)00(2)8()8()(2)()12()(6),22,030fxhfxhfxhfxhfxhhfxhxhh中点求导公式:数值分析数值分析00004(5)00200001()[25()48()36(2)1216(3)3(4)()(7)54,04,0fxfxfxhfxhhhfxhfxhfxxhhxhxh端点求导公式:计算左端点:,计算右端点:5点公式计算f(x0)的误差是O(h4),且中点公式(6)的误差小于端点公式(7)。数值分析数值分析在构造数值微分公式时,不仅要考虑公式的截断误差,而且还要考虑公式的舍入误差。2(3)0001()()()()(4)26fxhfxhhfxfh考察公式:000000()()()()()()fxhfxhexhfxhfxhexh设000002(3)1(4)()()()()()22()6fxhfxhexhexhfxhhhf则式为数值分析数值分析计算f'(x0)的总误差是:2(3)000001()()()()()()226fxhfxhexhexhhfxfhh从截断误差(h2/6)f(3)(ξ1)的角度看,h越小误差越小。但从舍入误差的角度看,h不能太小。误差界为:e(h)=e/h+(h2/6)M,这里e=max︱e(x0±h)︱,M=max︱f(3)(x)︱数值分析数值分析解:利用公式(0.900)(0.900)(0.900)2fhfhfh计算。'(0.900)0.0010.625000.003390.0020.622500.000890.0050.622000.000390.0100.621500.000110.0200.621500.000110.0500.621400.000210.1000.620550.00106hf近似误差例3:设f(x)=sinx,计算f'(0.900)=cos0.900的近似值。数值分析数值分析三.运用样条插值函数求数值微分用三转角方程和三弯矩方程可以分别求出在节点处函数f(x)的一阶导数和二阶导数的近似值.'(0,1,,)(0,1,,)iiiifminfMin四.运用数值积分求数值微分'()()()()()()()()xxyfxFxFxfxfxxRfxfxFtdt设函数的导函数是,即,则可将函数用定积分的形式表示出来,对数值分析数值分析111111,()()()(1,2,,1)kkkkxkkxxxxxfxfxFtdtkn取,得到11113()()2()()kkkkxxxkxFtdtFtdthFxOh若对积分用中矩形公式计算,即得到311'211()()2()()()()()()()2kkkkkkkfxfxhFxOhfxfxFxfxOhh11,kkxx这就是在上用中心差商构造的数值微分公式。数值分析数值分析11011(0,1,,)()(4)(1,2,1)3kkkxkkkxxxkhknhFtdtFFFkn设已知等距节点上的数值积公为例分式''()()()(0,1,,),()()(0,1,,)(()())xkxkfxfxFtdtxknyfxfxknFxfx试用构造在节点上求函数的导数的数值微分公式数值分析数值分析'''1111'''01(4)(1,2,,1)3,kkkkknhfffffknfff这是一个关于的线性代数方程组'''111134()(1,2,,1)kkkkkfffffknh解:将数值积分公式代入()()()xxfxfxFtdt数值分析数值分析''04114114114nffA

1 / 24
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功