您好,欢迎访问三七文档
数值分析专题报告——数值微分专业:农业工程姓名:杨文学学号:20148120771数值微分的用处数值微分主要通过测量函数一些离散点的值来求得函数的近似导数,对于一些基本的初等函数我们可以用求导公式直接求出,但对于以下几种情况,可能就要用到数值微分的思想了。①只给出函数的图像②给出表格,一些离散点和它的函数值③一些比较复杂的函数,不能用求导公式直接求出在解决实际问题中,数值微分也发挥着重要的作用,如解决地下水的寻找问题,图像处理中的边界识别问题,物理学中的波普的波峰问题,当然还有其他学科其他领域,无论科学研究还是实际运用,都是非常重要的。2数值微分的内容值微分就是用离散方法近似地计算函数在某点的导数值,若f(x)在x=A可导,根据导数的定义,可以用差商近似代替微商(导数),有以下几种数值微分公式f′(a)≈(1)f′(a)≈(2)f′(a)≈(3)(h>0且足够小)分别称为向前差分,向后差分,中心差分。高阶导数也可用差商法求得,例如二阶导数公式为f′′(a)≈(4)f(a+h)-f(a)hf(a)-f(a-h)hf(a+h)-f(a-h)2h2f(a+h)-2f(a)+f(a-h)h2.1误差分析对于(1)式向前差分,用Taylor公式展开,出现截断误差:存在∈ha,aaa+h2f()()'()()''()()/2!xfafaxafxa2f()()'()''()/2!ahfafahfh代入(1)式G(h)=,有R(x)=f′(a)﹣G(h)=''()h/2!=Ofh同理也可得向后差分的截断误差:a-haR(x)=f′(a)﹣G(h)=''()h/2!=Ofh由于中心差分精度较高,下面对其做细致分析。首先计算导数f′(a)的近似值,首先必须选取合适的步长,为此需要进行误差分析。分别将f(ah)在x=a处做泰勒展开代入(3)式得由此得知,从截断误差的角度看,步长越小,计算结果越准确,下面有截断误差其中但是不是步长越小越好呢?其实并不是这样的,我们对y=ex这个函数来进行分析,选取不同的步长来算f′(1.15),观察误差变化规律,确定最佳步长。f(a+h)-f(a)h234545f()=()'()''()'''()2!3!4!5!hhhhahfahfafafafafa245G()='()'''()3!5!hhhfafafa2|'()()|6hfaGhM||max|'''()|xahMfx表2-1计算结果解用中心差商表示的数值微分计算公式得到:hf′(1.15)errorhf′(1.15)error0.13.1630-0.00480.093.1622-0.00400.083.1613-0.00310.073.1607-0.00250.063.1600-0.00180.053.1590-0.00080.043.1588-0.00060.033.1583-0.00010.023.1575-0.00070.013.1550-0.0032事实上,f′(1.15)=3.1582,可以看出不是步长越小越好,因为我们还要考虑一个舍入误差,当h很小时,因f(a+h)与f(a–h)很接近,直接相减会造成有效数字的严重损失,从舍入误差分析,不易过小。下面我们分析舍入误差:当f(a+h)及f(a-h)分别有舍入误差1及2,令=max{|1|,|2|},则计算舍入误差的上界为可以看出h越小,舍入误差越大,是病态的。所以计算f′(a)的误差上界为要使误差最小,用导数,单调性知识分析,当3h=3/M,误差E(h)最小2.2插值型数值微分有时候我们会碰到函数y=f(x)以列表形式给出,我们就可以用插值的思想来近似建立一个多项式Pn(x)来代替f(x),但函数值差不多,导数值可能差别很大,所以我们要考虑误差。依据插值余项定理,求导公式的余项为式中在这余项中,是x的未知函数,我们无法对第二项做12||||('())|'()()|2fafaGahh2()6hEhMh(1)(1)11()()'()'()'()(1)!1!nnnnnwxfdfxpxwxfnndx10()()nniiwxxx(1)1()1!nnwxdfndx出进一步说明,导致整个误差也无法估计。但求某个节点xk的导数,第二项因式wn+1(k)=0,这时有余项公式(5)下面我们仅考察节点处的导数,假设所给节点是等距的。1.两点公式设给出点x0,x1上函数值f(x0),f(x1),做线性插值得令x1—x0=h,对上式两端求导,有于是有下列求导公式:而利用余项(5)知,带余项的两点公式是2.三点公式设已给出三个节点x0,x1=x0+h,x2=x0+2h上的函数值,做二次插值令x=x0+th,上式可表达为对两端t求导,有对t分别取t=0,1,2,得到3种三点公式:(1)kk1k()'()'()'()(1)!nnnffxpxwxn011010110()xxxxPxfxfxxxxx1011'()Pxfxfxh10101'()Pxfxfxh11101'()Pxfxfxh0101'()''()2hfxfxfxfh1101'()''()2hfxfxfxfh0201122012010210122021()()()()()()()()()()()()()()()xxxxxxxxxxxxPxfxfxfxxxxxxxxxxxxx2001211(1)(2)()(2)()(1)()22Pxthttfxttfxttfx200121'[(23)()(44)()(21)()]2Pxthtfxtfxtfxh亦可求得带余项的三点公式:2.3样条插值微分三次样条函数S(x)作为f(x)的近似,不但数值接近,导数值也很接近,并有()()(4)4||()()||||||,0,1,2kkkkfxSxCfhk(3.1)利用三次样条函数S(x)直接得到()()()(),0,1,2kkfxSxk可求得这里为一阶均差,其误差可由(3.1)式可得200121'[3()4()()]2Pxfxfxfxh21021'[()()]2Pxfxfxh220121'[()4()3()]2Pxfxfxfxh2001201'[3()4()()]'''()23hfxfxfxfxfh210211'[()()]'''()26hfxfxfxfh2201221'[()4()3()]'''()23hfxfxfxfxfh11'()'()[,]36kkkkkkkkhhfxSxMMfxx''()kkfxM1[,]kkfxx(4)31||''||||||24fSfh(4)23||''''||||||8fSfh2.4数值微分的外推法利用第一个方法中点公式计算导数值时可以看到有下面对f(x)在x处做泰勒展开2412'()()fxGhhh12i,可以对照法1获知,但这里与h无关,利用理查德森外推法对h分半,若记G0(h)=G(h),则有可以从下表2-4来观察计算过程表2-4外推过程114()()2(),1,2,41mmmmmhGGhGhmf(a+h)-f(a-h)'()()2hfxGh
本文标题:数值分析第一次作业
链接地址:https://www.777doc.com/doc-2387507 .html