数值积分与微分方法 下载本文

内容发布更新时间 : 2024/5/18 6:40:06星期一 下面是文章的全部内容请认真阅读。

数值积分与微分

摘要

ewotnCoest?本文首先列举了一些常用的数值求积方法,一是插值型求积公式,以N公式为代表,并分析了复合型的Newton?Cotes公式;另一个是Gauss?Ledendre求积公式,并给出几个常用的Gauss?Ledendre求积公式。其次,本文对数值微分方法进行分析,主要是差分型数值微分和插值型数值微分,都给出了几种常用的微分方法。然后,本文比较了数值积分与微分的关系,发现数值积分与微分都与插值或拟合密不可分。 本文在每个方法时都分析了误差余项,并且在最后都给出了MATLAB的调用程序。

关键词:插值型积分Gauss?Ledendre差分数值微分插值型数值微分 MATLAB

一、常用的积分方法

计算积分时,根据Newton?Leibniz公式,

?baf(x)dx?F(b)?F(a)

但如果碰到以下几种情况:

1)被积函数以一组数据形式表示;

2)被积函数过于特殊或者原函数无法用初等函数表示 3)原函数十分复杂难以计算

这些现象中,Newton?Leibniz公式很难发挥作用,只能建立积分的近似计算方法,数值积分是常用的近似计算的方法。

1.1 插值型积分公式

积分中的一个常用方法是利用插值多项式来构造数值求积公式,具体的步骤如下: 在积分区间上[a,b]上取一组节点:x0,x1,x2,?,xn(a?x0?x1??xn?b)。已知f(xk)的函数值,作f(x)的n次插值多项式,则

f(n?1)f(x)?Ln(x)?Rn(x)??f(xk)lk(x)?wn?1(x)(n?1)!k?0

其中,lk(x)为n次插值基函数,则得

n?baf(x)dx??(Ln(x)?Rn(x))dxanbbb1 =?[?lk(x)dx]f(xk)?f(n?1)[?(x)]wn+1(x)dx?aa(n?1)!k?0

公式写成一般形式:

?其中,

bbaf(x)dx??Akf(xk)?Rn[f]

k?0n(x?x0)?(x?xk?1)(x?xk?1)?(x?x0)dx

aa(x?x)?(x?x)(x?x)?(x?x)k0kk?1kk?1k0b1Rn[f]?f(n?1)[?(x)]wn+1(x)dx ?(n?1)!a显然,当被积函数f为次数小于等于n的多项式时,其相应的插值型求积公式为准确公式,即:

Ak??lk(x)dx??b?1.1.1 求积公式的代数精度

baf(x)dx??Akf(xk)k?0n

定义:求积公式对于任何次数不大于m的代数多项式f(x)均精确成立,而对于

f(x)?xm?1不精确成立,则称求积公式具有m次代数精度。

定理:含有n?1个节点xk(k?0,1,?,n)的插值型求积公式的代数精度至少为n。

1

1.2 Newton?Cotes公式 1.2.1 Newton?Cotes公式

将积分区间等分,并取分点为求积公式,这样构造出来的插值型求积公式就是Newton?Cotes公式。

?其中,

ba f(x)dx?(b?a)?Ck(n)(fxk)k?0nnb?a?(b?a)?Ck(n)

k?0且Cotes系数满足重要的关系式:

?Ck?0n(n)k?1 (k=0,1,2,?,n)

n?1时,求积公式为梯形公式(两点公式):

bb?af(x)dx?[f(a)?f(b)] ?a2梯形公式具有1阶代数精度,余项为:

(b?a)3RT[f]??f??(?) ??[a,b]12

n=2时,求积公式为Simpson公式(三点公式):

bb?aa?bf(x)dx?[f(a)?4f()?f(b)] ?a62Simpson公式具有3阶代数精度,余项为:

1b?a5(4)RS[f]??()f(?) ??[a,b]

902: n=4时,求积公式为Cotes公式(五点公式)

bb?af(x)dx?[7f(x0)?32f(x1)?12f(x2)?32f(x3)?7f(x4)] ?a90其中,

b?axk?a?k

4Cotes公式具有5次代数精度,余项为:

8b?a7(6)RC[f]??()f(?) ??[a,b]

94541.2.2 复合Newton?Cotes公式

当积分区间过大时,直接使用Newton?Cotes公式所得的积分的近似值很难得到保证,因此在实际应用中为了既能够提高结果的精度,又使得算法简便且容易在计算机上实现,往往采用复合求积的方法。

所谓复合求积,就是先将积分区间分成几个小区间,并从每个小区间上用低阶Newton?Cotes公式计算积分的近似值,然后对这些近似值求和,从而得到所求积分的近似值,由此得到一些具有更大实用价值的数值求积公式,统称为复合求积公式。

b?a将[a,b]区间n等分,记分点为xk?a?kh(k?0,1,?,n),其中,h?称为步长,

n2