复化辛普森求积公式

合集下载

复化梯形公式,复化辛普森公式,复化柯特斯公式

复化梯形公式,复化辛普森公式,复化柯特斯公式

复化梯形公式,复化辛普森公式,复化柯特斯公式
复化梯形公式、复化辛普森公式和复化柯特斯公式都是用来计算定积分的近似值的方法。

1. 复化梯形公式:将积分区间分成若干个小区间,在每个小区间上用梯形面积近似代替该小区间的曲边梯形面积,然后将这些梯形面积相加,得到积分的近似值。

2. 复化辛普森公式:将积分区间分成若干个等分小区间,在每个小区间上用矩形面积近似代替该小区间的曲边梯形面积,然后将这些矩形面积相加,得到积分的近似值。

3. 复化柯特斯公式:将积分区间分成若干个等分小区间,在每个小区间上用切线段长度近似代替该小区间的曲边梯形面积,然后将这些切线段长度相加,得到积分的近似值。

这三种方法都是通过将积分区间分成若干个小区间,然后在每个小区间上用近似方法计算该小区间的曲边梯形面积,最后将这些近似值相加得到积分的近似值。

它们的精度和误差都与分区间的大小有关。

matlab复化Simpson求积公式计算数值积分

matlab复化Simpson求积公式计算数值积分

,(k 0,1,...,n)k x a kh =+=b a h n-=2221222121(x)dx (x)dx [(x )4(x )(x )]3k k m a x b x k m k k k k f f h f f f -=--=≈≈++∑⎰⎰∑复化Simpson 求积公式计算数值积分一·复化Simpson 求积公式的数学理论如果用分段二次插值函数近似被积函数,即在小区间上用Simpson 公式计算积分近似值,就可导出复化Simpson 公式。

二·复化Simpson 求积公式的算法和流程图将积分区间[a,b]分成n=2m 等分,分点为,在每个小区间[222,x k k x -](k=0,1,…,n-1)上。

用Simpson 公式求积分,则有2222222221222212(x)dx [(x )4(x )(x )]6[(x )4(x )(x )]3kk x k k k k k x k k k x x f f f f h f f f -------≈++=++⎰求和得整理后得到122111(x)dx [(a)(b)2(x )4(x )]3m m bk k a k k h f f f f f --==≈+++∑∑⎰ (5-21)式(5-21)称为复化Simpson 公式。

如果(4)(x)[a,b]f c ∈,则由Simpson 插值余项公式可得复化公式的截断误差为1221115(4)2221()(x)dx [(a)(b)2(x )4(x )]3(2h)()[x ,x ]2880m m bS k k a k k mk k k h R f f f f f f ξξ--==-==-+++=-∈∑∑⎰∑因为(4)f x 为连续,故存在[a,b]ξ∈,使得(4)(4)11()()m k k f f m ξξ==∑代入上式得5(4)4(4)1(2h)()()()(a,b)2880180m s k b a R f mf h f ξξξ=-=-=-∈∑ (5-22)式(5-22)表明,步长h 越小,截断误差越小。

复化梯形公式和复化Simpson公式

复化梯形公式和复化Simpson公式

一、计算定积分的近似值:221x e xe dx =⎰ 要求:(1)若用复化梯形公式和复化Simpson 公式计算,要求误差限71021-⨯=ε,分别利用他们的余项估计对每种算法做出步长的事前估计;(2)分别利用复化梯形公式和复化Simpson 公式计算定积分;(3)将计算结果与精确解比较,并比较两种算法的计算量。

1.复化梯形公式程序:程序1(求f (x )的n 阶导数:syms xf=x*exp(x) %定义函数f (x )n=input('输入所求导数阶数:')f2=diff(f,x,n) %求f(x)的n 阶导数结果1输入n=2f2 =2*exp(x) + x*exp(x)程序2:clcclearsyms x %定义自变量xf=inline('x*exp(x)','x') %定义函数f(x)=x*exp(x),换函数时只需换该函数表达式即可f2=inline('(2*exp(x) + x*exp(x))','x') %定义f(x)的二阶导数,输入程序1里求出的f2即可。

f3='-(2*exp(x) + x*exp(x))'%因fminbnd()函数求的是表达式的最小值,且要求表达式带引号,故取负号,以便求最大值e=5*10^(-8) %精度要求值a=1 %积分下限b=2 %积分上限x1=fminbnd(f3,1,2) %求负的二阶导数的最小值点,也就是求二阶导数的最大值点对应的x值for n=2:1000000 %求等分数nRn=-(b-a)/12*((b-a)/n)^2*f2(x1) %计算余项if abs(Rn)<e %用余项进行判断break% 符合要求时结束endendh=(b-a)/n %求hTn1=0for k=1:n-1 %求连加和xk=a+k*hTn1=Tn1+f(xk)endTn=h/2*((f(a)+2*Tn1+f(b)))z=exp(2)R=Tn-z %求已知值与计算值的差fprintf('用复化梯形算法计算的结果 Tn=')disp(Tn)fprintf('等分数 n=')disp(n) %输出等分数fprintf('已知值与计算值的误差 R=')disp(R)输出结果显示:用复化梯形算法计算的结果 Tn=等分数 n=7019已知值与计算值的误差 R=2. Simpson公式程序:程序1:(求f(x)的n阶导数):syms xf=x*exp(x) %定义函数f(x)n=input('输入所求导数阶数:')f2=diff(f,x,n) %求f(x)的n阶导数结果1输入n=4f2 =4*exp(x) + x*exp(x)程序2:clcclearsyms x%定义自变量xf=inline('x*exp(x)','x') %定义函数f(x)=x*exp(x),换函数时只需换该函数表达式即可f2=inline('(4*exp(x) + x*exp(x))','x') %定义f(x)的四阶导数,输入程序1里求出的f2即可f3='-(4*exp(x) + x*exp(x))'%因fminbnd()函数求的是表达式的最小值,且要求表达式带引号,故取负号,一边求最大值e=5*10^(-8) %精度要求值a=1 %积分下限b=2 %积分上限x1=fminbnd(f3,1,2) %求负的四阶导数的最小值点,也就是求四阶导数的最大值点对应的x值for n=2:1000000 %求等分数nRn=-(b-a)/180*((b-a)/(2*n))^4*f2(x1) %计算余项if abs(Rn)<e %用余项进行判断break% 符合要求时结束endendh=(b-a)/n %求hSn1=0Sn2=0for k=0:n-1 %求两组连加和xk=a+k*hxk1=xk+h/2Sn1=Sn1+f(xk1)Sn2=Sn2+f(xk)endSn=h/6*(f(a)+4*Sn1+2*(Sn2-f(a))+f(b)) %因Sn2多加了k=0时的值,故减去f(a)z=exp(2)R=Sn-z %求已知值与计算值的差fprintf('用Simpson公式计算的结果 Sn=')disp(Sn)fprintf('等分数 n=')disp(n)fprintf('已知值与计算值的误差 R=')disp(R)输出结果显示:用Simpson公式计算的结果 Sn=等分数 n=24已知值与计算值的误差 R=用复化梯形公式计算的结果为:,与精确解的误差为:。

复化辛甫生求积公式的应用

复化辛甫生求积公式的应用

真实值为: s*=0.9460830 绝对误差: ∣s*-s∣=∣0.9460830- 0.9460833∣=0.00000003<a 算法评价: 优点:精度达不到需增加节点时,只需计算新分点的值,避免 重复计算。 缺点:精度低,收敛慢。
ห้องสมุดไป่ตู้
复化辛普生公式求积的应用
1. 题目 用函数f(x)=sin(x)/x 的数据表计算积分 2. 复化辛甫生求积公式的目的及意义。 实际问题中常常需要计算积分。有些数值方法,如微分方程和积分 方程的求解,也都和积分计算相联系。依据人们所熟知的微积分基本定 理,根据牛顿——莱布尼兹公式,只要找到被积函数的原函数即可。不 过,这种方法在原则上虽然可行,但实际运用往往有困难。因为大量的 被积函数,找不到用初等函数表示的原函数;另外,当f(x)是由实验测 量或数值计算给出的一张数据表时,牛顿——莱布尼兹公式也不能直接 应用。而复化辛甫生求积公式的应用在对上述的难题是非常有用的。 3. 算法描述。 1. 输入计算所需要的数据。 2. 求出步长h=(b-a)/n,f(b)-f(a)=s,x=a 3. 对计算次数进行循环,在每次循环中,x=x+h/2,s=s+4f(x),对x进 行重新赋值,x=x+h/2,s=s+2f(x),直到k=n时停止。 4. 输出结果s=(h*s)/6. 流程图如下所示: 输入a,b,n h=(b-a)/n s=f(a)-f(b) x=a K=0,1,2,3.......n-1 S=s+2f(x) X=x+h/2 S=s+4f(x) X=x+h/2 输出s=(h*s)/6 四.程序设计 program di4 implicit none real :: a=0.0000001 integer ::b=1 integer :: n=4 real h,s ,x,k,f

4.3 复化求积公式

4.3 复化求积公式

点,将新增加的分点处的函数值从求和记号中分离出来,就有:
b a
n1
n1

T2n
4n

f
(a)

2
k 1
f
(xk )

2
k 0
f
( xk 1
2
)
f
(b)

1 2
h 2

f
(a)

n1
2
k 1
f
(xk )

f
(b)
h 2
n k 0
0
1/4
例4.14 对于函数 f (x) sin x x
试用数据表应用复化梯形法计算积分
1 sin x
I ( f ) 0 x dx
2/4
x 0 1/8
解 将区间[0,1]划分为n=8等分,h=1/8, 应 2/8
用复化梯形法求得
3/8
T8

h 2

f
7
(a) 2
k 1
f
(xk )
x
k

1
)

2
f
( xk 1)]
xk
x k1
x k 1
2
b
n1
f (x)dx
xk1 f (x)dx
a
x k 0 k
4 4

xk 1 xk 6
m1 f
k0
xk

4f
(
x
k

1
)

2
f
( xk 1 )
4
4
4
称Sn为复化 Simpson公式

复化梯形法 复化矩形法 变步长梯形 变步长辛普森

复化梯形法 复化矩形法 变步长梯形 变步长辛普森

陕西科技大学机械教改班用C++的积分其实积分的思想就是,微分—>求和—>取极限,如果是用纯手工法那就是先对一个函数微分,再求出它的面积,在取极限,因为我们的计算速度和计算量有限,现在有了计算机这个速度很快的机器,我们可以把微分后的每个小的面积加起来,为了满足精度,我们可以加大分区,即使实现不了微分出无限小的极限情况,我们也至少可以用有限次去接近他,下面我分析了四种不同的积分方法,和一个综合通用程序。

一.积分的基本思想1、思路:微分—>求和—>取极限。

2、Newton —Leibniz 公式 ⎰-=ba a Fb F dx x f )()()( 其中,)(x F 被积函数)(x f的原函数。

3、用计算机积分的思路在积分区间内“微分—>求和—>控制精度”。

因为计算机求和不可以取极限,也就是不可以无限次的加下去,所以要控制精度。

二.现有的理论1、一阶求积公式---梯形公式⎰=+-=b a T b f a f a b dx x f )]()([2)( 他只能精确计算被积函数为0、1次多项式时的积分。

2、二阶求积分公式——牛顿、科特斯公式 ⎰=+++-=ba Sb f a b f a f a b dx x f )]()2(4)([6)(他只能精确计算被积函数为0、1、2、3次多项式时的积分。

三.四种实现方法1.复化矩形法将积分区间[a,b]等分成n 个子区间:],[],[],[],[],[112322110n n n n x x x x x x x x x x ---、、、 则h=(b-a)/n,区间端点值k x =a+kh)hf(x ))f(x x (x I 11121=-=)()()x (22232x hf x f x I =-=............................)()()(111n ---=-=n n n n x hf x f x x I∑==ni i x hf T 1n )(源程序:#include <iostream.h>#include<math.h>double f(double x) //计算被积函数{double y;y=log(1+x)/(1+x*x); //被积函数return y;}double Tn(double a,double b,int n) //求Tn{double t=0.0;double xk; //区间端点值double t1,t2; //用来判断精度do{double h=(b-a)/n;for(int k=1;k<=n-1;k++) //每一小段的矩形叠加 {t1=t;xk=a+k*h;t+=h*f(xk);t2=t;}n++; //如果精度不够就对区间再次细分,直到达到精度要求 }while(fabs(t1-t2)<=1e-7); //判断计算精度return t;}void main(){double a=0.0; //积分下线double b=2.0; //积分上限int n=1024; //把区间分为1024段cout<<Tn(a,b,n)<<endl; //输出积分结果}执行结果:2.复化梯形法方法和复化矩形法类似,只是把原来的矩形小面积变成了梯形小面积,但是精确度明显提高了,也就是说达到同样的精度需要的时间少了。

数值分析6.3 复化求积公式、龙贝格求积公式讲解

数值分析6.3  复化求积公式、龙贝格求积公式讲解

精度不够可将步长逐次分半. 设将区间 [a, b]分为n等
分,共有n+1个分点,如果将求积区间再分一次,则
分点增至2n+1个,我们将二分前后两个积分值联系
起来加以考虑. 注意到每个子区间[xk, xk+1]经过二分
只增加了一个分点
x k 1/ 2
1 ( x k xk 1 ) 2
设hn=(ba)/n, xk=a+khn (k=0,1,,n),在[xk, xk+1]
I f ( x )dx
b a k 0 n 1 xk 1 xk
f ( x )dx
每个子区间[xk, xk+1]上的积分用梯形公式, 得

xk 1 xk
h f ( x )dx [ f ( xk ) f ( xk 1 )] 2
xk 1 xk
I
k 0
6.3 复化求积公式
从求积公式的余项的讨论中我们看到,被积函数
所用的插值多项式次数越高,对函数光滑性的要求也
越高.另一方面,插值节点的增多(n的增大),在使用
牛顿-柯特斯公式时将导致求积系数出现负数(当n≥8
时, 牛顿-柯特斯求积系数会出现负数),即牛顿-柯特
斯公式是不稳定的,不可能通过提高阶的方法来提高 求积精度.
b n 1 xk 1 xk a
I f ( x )dx
k 0
f ( x )dx
h n 1 I [ f ( xk ) 4 f ( xk 1/2 ) f ( xk 1 )] 6 k 0
n 1 n 1 h [ f (a ) 4 f ( xk 1/2 ) 2 f ( xk ) f ( b)] 6 k 0 k 1

辛普森求积公式分解

辛普森求积公式分解
n
的插值型求积公式
In=(b-a)ckn)f(Xk)
为牛顿一柯特斯(Newton-Cotes)公式,式中ckn)称为柯特斯系数.根据插值型求积公式系数(1-2),引进变换x=a+th,则有
(一1严n
dt=鳥丿昭nn(t-j)dt
nk!(n-k)!0j出
j?k
当n =2时,由上式有
(2)121
C0=4J0(tT)(t-2)dt ="
i二0
这就是数值求积的思想(有效地解决了本章开始提出的问题),权因子A和节点Xi
i=0,1,2,…,n的不同确定方法就对应不同的数值求积公式
§
定义1.1称形如(1-1)式的求积公式为机械求积公式,其中Ai仅节点的选择与
f (x)无关,a =Xo兰X1<X2兰…Xn=b称为求积节点,Ai(20,1,2,…,n)称为求积
1.1基本思想及基本概念
§
由定积分中值定理:
b
=ff (x)dx=f (E)(b -a), a<E<ba
可知:积分可以通过被积函数在©处的值得到.由于积分中值定理仅仅告诉我们匕在 一定条件下是存在的,但并没有给出确定匕的方法.一个很自然的想法就是利用被积
函数f(X)在节点a =Xo<X1<X2Xn=b处函数值的加权平均来替代(近似)f(©),
Rs =
晋(宁)4f(4m,ya,b],f(x)心⑻b]
(1-5)
§
例1.1用辛普森求积公式计算积分
2
4+x
由积分形式可知a =0,b=1,n= 2
用辛普森公式计算有下式
1x1 1
-0^^6[f(O^4f(1^f(1)]
其中f(xV

复化simpson公式

复化simpson公式

复化simpson公式Simpson公式是求积分的重要方法,由英国数学家Thomas Simpson在1743年提出。

Simpson公式的基本思想是将定积分的区间分成n个等分,每个等分被近似地看成一个三角型,以此来计算定积分的值。

首先,根据Simpson公式,将积分区间[a, b]等分为n个点:X0 = a,X1 = a + h,X2 = a + 2h,…,Xn = b。

其中,h = (b – a)/n。

接着,假定函数f(x)在[a, b]上可以用n次多项式来近似,即f(x) = a0 + a1x + a2x2 + … + anxn。

然后,根据Simpson公式,可以得到定积分的近似值:∫abf(x)dx ≈ h/3[f(x0) + 4f(x1) + 2f(x2) + 4f(x3) + … + 4f(xn-1) + f(xn)]上式就是Simpson公式的原始形式,它的精确度和n的大小有关,当n越大时,Simpson公式的精确度越高。

基于Simpson公式,还有一种叫做复化Simpson公式的积分计算方法。

复化Simpson公式把定积分区间分成多个子区间,在每个子区间上使用Simpson公式计算,然后把所有子区间的积分值加起来,就可以得到定积分的近似值。

例如,把[a, b]分成n个子区间[x0, x1],[x1, x2],…,[xn-1, xn],它们的积分值分别为I1,I2,…,In,则复化Simpson公式的结果为:∫abf(x)dx ≈ I1 + I2 + … + In复化Simpson公式比单一Simpson公式更容易理解和使用,它还可以提高计算精度,使用复化Simpson公式可以得到更准确的结果。

从上面可以看出,Simpson公式是一种简单、高效的积分计算方法,它可以使用复化Simpson公式提高精度,在很多工程和科学应用中都得到了广泛的应用。

复化求积公式的算法及其应用

复化求积公式的算法及其应用

摘要在数值计算中,低阶牛顿柯特斯求积方法存在很多缺陷,从余项公式可以看出其要求提高求积公式的代数精度,必须增加结点个数,会导致插值多项式出现龙格现象,且数值稳定性不能保证.基于以上原因,我们往往采用复化求积方法,此方法不仅可以克服以上缺点而且便于在计算机上实现,值得研究和学习.在本课程设计中,我们首先从复化求积公式的思想引入,然后详细介绍复化梯形求积公式、复化辛普森求积公式和复化柯特斯求积公式的推导过程和相关性质,再对三种求积公式进行比较和总结,其次画出三种求积公式的流程图,最后通过求解例题写出三种求积算法的程序设计.关键词复化求积算法;流程图;程序设计目录引言 (1)第一章复化求积算法 (2)§1.1复化求积公式 (2)§1.1复化求积公式的思想 (3)§1.2复化求积公式的构造 (3)§1.2复化梯形求积公式 (3)§1.2.1复化梯形求积公式的推导过程 (3)§1.2.2复化梯形求积公式的性质 (3)§1.3复化辛普森求积公式 (4)§1.3.1复化辛普森求积公式的推导过程 (4)§1.3.2复化辛普森求积公式的性质 (4)§1.4复化柯特斯求积公式 (5)§1.4.1复化柯特斯求积公式的推导过程 (5)§1.4.2复化柯特斯求积公式的性质 (5)§1.5三种复化求积公式的比较及总结 (6)第二章复化求积公式算法的流程图及其应用 (9)§2.1 流程图 (9)§2.2 应用 (12)参考文献 (15)附录A (16)附录B (17)附录C (18)引言积分计算在分析数学领域里是个古老的问题,在数值分析中已被广泛应用.但在计算机上却不能像在分析数学中那样,用原函数[满足)()('x f x F =的函数)(x F 就是函数)(x f 的原函数]计算积分.这是因为在实际问题中,函数关系往往是用列表数据或曲线给出的.即使知道了函数的表达式,求其一个原函数并非一个简单问题.许多函数难以用初等函数表示(如2,/sin x e x x -等).在计算机上,通常利用函数的若干个离散值,以代数运算近似计算积分值,这类近似计算法称为数值积分法.设给定区间],[b a 上的函数)(x f .需要建立计算积分dx x f f I ba ⎰=)()(的近似方法.数值积分的基本思想是试图用一个简单又易于积分的函数逼近)(x f ,以计算积分)(f I .显然插值多项式是一个很好的选择,因为插值多项式可由)(x f 的若干值构造出来,其积分很容易计算.为此,需将],[b a 分为n 等分n i x x i i ,,2,1],,[1 =+,其中b x x x x a n =<<<<=+1321 .分割步长h ,因此,1,3,2,/)1(1+=-+=n i h i x x i 对应的函数值)()(,),(),()(121b f x f x f x f a f n ==+ .显然)(f I 可以表示为所有小区间上各函数的积分的和,即)()(1f I f I ni i ∑==其中 dx x f I i ix x i ⎰+=1)(通常把为每个)(f I i 建立的计算公式简称为求积公式,而把)(f I 建立的求积公式称为复化求积公式.由于在实际计算时,不宜使用高阶的牛顿——柯特斯公式,但若积分区间较大,单独用一个低阶的牛顿——柯特斯公式来计算积分的近似值,显然精度不好,为了提高数值求积的精确度,可利用积分对区间的可加性来解决这个问题,这就是通常采用的复合求积法.而且使用这种方法之后,求积公式的收敛性和稳定性也得到了改善.第一章 复化求积算法牛顿—柯特斯公式的求积余项表明,求积节点n 越大,对应的求积公式精度越高,但由于牛顿—柯特斯公式在8>n 时数值不稳定,因此不能用增加求积节点数的方法来提高计算精度.实用中常将求积区间],[b a 分成若干个小区间,然后在每个小区间上采用数值稳定的牛顿—柯特斯公式求小区间上的定积分,最后把所有小区间上的计算结果相加来作为原定积分的近似值.采用这种方法构造的求积公式就称为复合求积公式.复合求积公式具有计算简单且可以任意逼近所求定积分值的特点,这是牛顿—柯特斯公式一般做不到的.常用的复合求积公式有复合梯形求积公式和复合辛普森求积公式以及复合柯特斯求积公式.以下我们将从三种复化求积算法的构造、余项、稳定性、收敛性等几方面进行讨论,并写出相应的流程图以及应用中所涉及到的算法的程序设计.§1.1复化求积公式§1.1.1 复化求积公式的思想n 很大时,牛顿——柯特斯求积公式出现了不稳定、不收敛现象,往往使用低阶牛顿——柯特斯求积公式,误差比较大,故将],[b a 若干等分,在每个子区间上反复使用低阶牛顿——柯特斯公式,进行累加.而构造出来的新的求积公式,称之为复化求积公式.在构造求积公式的过程中,我们将求积区间],[b a 进行等距细分:n i nab ia x i ,,1,0, =-+=,在每个小区间],[1i i x x -上用相同的“基本”求积公式(如梯形公式;中矩形公式;左(右)矩形公式或辛普森公式)计算出dx x f i i x x ⎰-1)(的近似值i S .§1.1.2 复化求积公式的的构造将定积分⎰ba dx x f )(的区间],[b a 划分为n 等分,各节点为kh a x k +=,n k ,,1,0 =,nab h -=,在子区间)1,,1,0](,[1-=+n k x x k k 上使用牛顿——柯特公式,将],[1+k k x x 分割为l 等份,步长为l h,节点为1,,2,,+=+++k k k k k x llhx l h x l h x x记121,,,,++++=k ll k lk lk k x xxxx为在],[1+k k x x 上作)(x f 的l 阶牛顿——柯特斯求积公式.∑∑⎰=++=+=-=≈+li li k l i li k li l i k k k i x x xf C h xf C x x I dx x f k)(0)(1)()()()()(1由积分区间的可加性,可得nli k n k li l i n k k l n k k k baI xf C h I dxx f dx x f ==≈=+-==-=-=+∑∑∑∑⎰⎰)()()(100)(1)(11§1.2 复化梯形求积公式§1.2.1 复化梯形求积公式的的推导过程将积分区间],[b a 划分等分,步长nab h -=,求积节点kh a x k +=,n k ,,1,0 =在每个小区间)1,,1,0](,[1-=+n k x x k k 上应用梯形公式)]()([2)(11++≈⎰+k k x x x f x f hdx x f k k然后将它们累加求和,作为所求积分I 的近似值.])()(2)([2)]())()()((2)([2)]()([2)()(11121011011∑∑∑⎰⎰---+-=-=++=+++++=+≈==+n i k n n k k n k n k x x bab f x f a f hx f x f x f x f x f hx f x f hdx x f dx x f I k k记n T )]()(2)([211b f x f a f hn i k ++=∑-=式为复化梯形求积公式,下标n 表示将区间n 等分,若把区间n 2等分,在每个小区间上仍用梯形求积公式,则可得到n n T T ,2和n H 间的关系为:)(212n n n H T T +=其中∑=--+=nk n nab k a f h H 1]2)12([ §1.2.2复化梯形求积公式的性质性质1.1复化梯形求积公式余项当)(x f 在],[b a 上有连续的二阶导数,则复化梯形公式的余项:)(12)()(''2ηf h a b T dx x f R n ba T --=-=⎰ ],[b a ∈η 性质1.2稳定性若],[,)(''b a x M x f ∈≤,则有估计式M na b R nT 2312)(-≤ 复化梯形求积公式的系数均大于零,且满足a b nh n hA ni i -==+-+=∑=]1)1(21[2因此,复化梯形求积公式的计算过程是数值稳定的.性质1.3收敛性可证复化梯形求积公式是收敛的. 性质1.4代数精度定义1.1 若积分⎰b adx x f )(的数值积分公式⎰badx x f )()(0k nk k x f A ∑=≈对于任意一个次数不高于m 次的多项式都精确成立,且存在一个1+m 次多项式使之不精确成立,则称该数值积分公式的代数精度为m .可证复化梯形求积公式的代数精度为2.§1.3 复化辛普森求积公式§1.3.1 复化辛普森求积公式的的推导过程将积分区间],[b a 划分等分,记子区间],[1+k k x x 的中点为h x x k k 2121+=+在每个小区间上应用辛普森公式,则有))()(2)(4)((6)444(6)]()(4)([6)()(101121211223112101211011b f x f x f a f hf f f f f f f f f hx f x f x f hdxx f dx x f I n k n k k k n n n k k k n k n k x x bak k+++=+++++++++=++≈==∑∑∑∑⎰⎰-=-=+--++-=-=+其中h x xk k 2121+=+记 )]()(2)(4)([6111021b f x f x f a f hS n k k n k k n +++=∑∑-=-=+式为复化辛普森求积公式§1.3.2复化辛普森求积公式的性质性质1.5复化辛普森求积公式余项当)(x f 在],[b a 上有连续的四阶导数,复化辛普森公式的求积余项为:)(2880)()2(180)4(4)4(4ηηf h a b f h a b R S --=--= ],[b a ∈η 性质1.6稳定性同复化梯形求积公式,复化辛普森求积公式的系数均大于零,且满足总和为a b - 因此,复化辛普森求积公式的计算过程是数值稳定的.性质1.7收敛性可证复化辛普森求积公式是收敛的. 性质1.8代数精度可证复化辛普森求积公式的代数精度为4.§1.4 复化柯特斯求积公式§1.4.1 复化柯特斯求积公式的的推导过程将积分区间],[b a 划分等分,若把每个子区间],[1+k k x x 四等份,内点依次记为432141,,+++k k k xxx,同理可得复化柯特斯求积公式)](7)(14)(32)(12)(32)(7[9010101143211041b f x f x f x f x f a f hC n k n k n k k k k n k k n +++++=∑∑∑∑-=-=-=++-=+(1-1)其中h x xh x x h x x k k k k k k 43;21;41432141+=+=+=+++ 记(1-1)为复化柯特斯求积公式§1.4.2复化柯特斯求积公式的性质性质1.9复化柯特斯求积公式余项当)(x f 在],[b a 上有连续的四阶导数,复化柯特斯公式的求积余项为:)()4(945)(2)6(6ηf h a b R c --= ],[b a ∈η性质1.10稳定性同复化梯形求积公式,复化柯特斯求积公式的系数均大于零,且满足总和为a b - 因此,复化柯特斯求积公式的计算过程是数值稳定的.性质1.11收敛性可证复化柯特斯求积公式是收敛的. 性质1.12代数精度可证复化柯特斯求积公式的代数精度为6.§1.5 三种复化求积公式的比较及总结为了更形象的表述三种复化求积公式之间的关系,我们通过一个例子来进行比较例1.1使用各种复化求积公式计算定积分dx xxI ⎰=10sin 为简单起见,依次使用8阶复化梯形公式、4阶复化辛普森公式和2阶复化柯特斯公式,可得各节点的值如下表表1-1节点值94569086.0)]1()(2)0([161718=++=∑=f x f f T k k 94608331.0)]1()(2)(4)0([2413031214=+++=∑∑==+f x f x f f S k k k k 94608307.0)]1(7)(14)](32)(12)(32[)0(7[180111104342412=+++++=∑∑==+++f x f x f x f x f f C k k k k k k 比较三个公式的结果:精度最低 94569086.08=T 精度次高 94608331.04=S 精度最高 94608307.02=C原积分的精确值为6719460830703.0sin 10==⎰dx xxI . 我们知道,三种求积公式的余项分别如表1-2表1-2 复化梯形、辛普森、柯特斯求积公式的余项定义1.2对于复化求积公式n I 若存在0>p 及0≠c ,使其余项n I I -满足c h I I pnh =-→0lim则称复化求积公式n I 是p 阶收敛的 P 阶收敛性的意义:对于一个数值求积公式来说,收敛阶越高,近似值n I 收敛到真值dx x f ba ⎰)(的速度就越快.由于三种求积公式的余项分别是h 的2,4,6阶无穷小量 所以n n n C S T ,,趋于定积分I 的速度依次更快.从这三种求积公式的构造过程中可以看出,它们都属于机械求积公式,但不属于插值行和牛顿柯特斯公式.都具有稳定性和收敛性,且收敛速度一个比一个快,一个比一准确.在使用函数值个数相等的情况下,248,,C S T 的精度逐渐升高.第二章 复化求积公式算法的流程图及其应用§2.1 流程图1. 复化梯形求积公式图2.1 复化梯形求积公式算法的流程图Step1给出被积函数)(x f 、区间],[b a 端点b a ,和等分数n ; Step2求出,kh x k =nab h -=; Step3计算∑-=1)(),(),(n k k x f b f a f ;Step4得)]()()([211b f x f a f h T n k k n ++=∑-=2. 复化辛普森求积公式图2.2 复化辛普森求积公式算法的流程图Step1 给出被积函数)(x f 、区间],[b a 端点b a ,和等分数n ; Step2求出,kh x k =nab h -=; Step3计算∑∑-=+-=1211)(,)(),(),(n k k n k k xf x f b f a f ;Step4得)]()(2)(4)([6111021b f x f x f a f hS n k k n k k n +++=∑∑-=-=+3. 复化柯特斯求积公式图2.3 复化柯特斯求积公式算法的流程图Step1给出被积函数)(x f 、区间],[b a 端点b a ,和等分数n ;Step2求出,kh x k =nab h -=; Step3计算∑∑∑∑-=-=+-=+-=+11143121141)(,)(,)(,)(),(),(n k k n k k n k k n k k x f xf xf xf b f a f ;Step4得)](7)(14)(32)(12)(32)(7[9010101143211041b f x f x f x f x f a f hC n k n k n k k k k n k k n +++++=∑∑∑∑-=-=-=++-=+§2.2 应用例2.1.分别用复化梯形,复化辛普森,复化柯特斯公式计算函数32)(x x x f -=在区间]1,0[上的弧长S .(要求写出源程序和运行结果) *注 在],[b a 上的弧长dx x f S ba⎰+=2'))((11.用复化梯形公式计算S 的过程:(1).写出变量说明表2-1 复化梯形求积公式程序设计的变量说明Step1 输入n ,nab h -=,被积函数0),(1=s x f ; Step2 for 1=k to 1-n ;{计算11)(s kh a f s →++} ))(2)((21b f s a f hs ++=;Step3 输出近似值s .(3) 写出源程序和运行结果(见附录A) 2.用复化辛普森公式计算S 的过程: (1).写出变量说明表2-2 复化辛普森求积公式程序设计的变量说明Step1:输入n ,nab h -=,被积函数0),(1=s x f 0,2=s ; Step2:for 1=i to 1-n ,2+=i i ;{计算11)2/*(s h i a f s →++} Step3:for 2=j to 1-n ,2+=j j ; {计算22)2/*(s h j a f s →++}))(24)((621b f s s a f hs +++=; Step4:输出近似值s .(3).写出源程序和运行结果(见附录B) 3.用复化柯特斯公式计算S 的过程: (1).写出变量说明表2-3 复化柯特斯求积公式程序设计的变量说明Step1输入n ,nab h -=,被积函数0),(1=s x f 0,2=s 0,3=s ; Step2 for 1=i to 1-n ,2+=i i ;{计算11)4/*(s h i a f s →++} Step3:for 2=j to 1-n ,4+=j j ; {计算22)4/*(s h j a f s →++} Step4: for 4=k to 2-n ,2+=k k ; {计算33)4/*(s h k a f s →++}))(141232)((90321b f s s s a f hs ++++=; Step5:输出近似值s .(3).写出源程序和运行结果(见附录C)根据运行结果可知,由三种复化求积公式求得的S 的值分别为064837.1、061199.1、061189.1,精度逐渐升高.参考文献[1] 薛毅,耿美英.数值分析[M]. 北京:北京工业大学出版社.2003年.[2] 刘长安.数值分析教程[M].西安:西北工业大学出版社.2005年.[3] 朝伦巴根,贾德彬.数值计算方法[M].北京:中国水利水电出版社.2007年.[4] 韩旭里,万中.数值分析与实验[M].北京: 科学出版社.2006年.[5] 林成森.数值分析[M].北京: 科学出版社.2007年.[6] 封建湖,车刚明,聂玉峰.数值分析原理. 北京: 科学出版社.2001年.附录A 1.复化梯形求积公式的程序设计:(1).源程序:#include<stdio.h>#include<math.h>double f(double x){double z;z=sqrt(1+pow((2*x-3*pow(x,2)),2));return z;}main(){ int n,k;float h;float a;float b;double s=0.0;double s1=0.0;double t;printf("Please input the deng fen ;"); scanf("%d",&n);printf("Please input qujian a ;");scanf("%f",&a);printf("Please input qujian b ;");scanf("%f",&b);h=(b-a)/n;for (k=1;k<n;k++){ t=a+k*h;s1=s1+f(t);}s=(h/2)*(f(a)+2*s1+f(b));printf("%f\n",s);}(2).运行结果:图1 复化梯形求积公式计算弧长结果附录B2.复化辛普森求积公式的程序设计:(1).源程序:#include<stdio.h>#include<math.h>double f(double x){double z;z=sqrt(1+pow((2*x-3*pow(x,2)),2));return z;}main(){ int n,i,j;float h;float a;float b;double s=0.0;double s1=0.0,s2=0.0;double t,l;printf("Please input the deng fen ;");scanf("%d",&n);printf("Please input qujian a ;");scanf("%f",&a);printf("Please input qujian b ;");scanf("%f",&b);h=(b-a)/n;for(i=1;i<8;i=i+2){t=a+i*h/2;s1=s1+4*f(t);}for(j=2;j<8;j=j+2){l=a+j*h/2;s2=s2+2*f(l);}s=(h/6)*(f(a)+s1+s2+f(b));printf("%f\n",s);}(2).运行结果:图2 复化辛普森求积公式计算弧长结果附录C3.复化柯特斯求积公式的程序设计:(1).源程序:#include<stdio.h>#include<math.h>double f(double x){double z;z=sqrt(1+pow((2*x-3*pow(x,2)),2));return z;}main(){int n,i,j,k;float h;float a;float b;double s=0.0;double s1=0.0,s2=0.0,s3=0.0;double t,l,m;printf("Please input the deng fen ;");scanf("%d",&n);printf("Please input qujian a ;");scanf("%f",&a);printf("Please input qujian b ;");scanf("%f",&b);h=(b-a)/n;for(i=1;i<8;i=i+2){t=a+i*h/4;s1=s1+32*f(t);}for(j=2;j<7;j=j+4){l=a+j*h/4;s2=s2+12*f(l);}for(k=4;k<6;k=k+2){m=a+k*h/4;s3=s3+14*f(m);}s=(h/90)*(7*f(a)+s1+s2+s3+7*f(b));printf("%f\n",s);}(2).运行结果:图3 复化柯特斯求积公式计算弧长结果19。

三维复化simpson积分

三维复化simpson积分

三维复化Simpson积分是利用复化方法求得Simpson公式,其中n为区间分割的子区间数,h为子区间长度,a为积分区间的左端点,b为积分区间的右端点。

具体步骤如下:
1.将积分区间[a, b]均匀地分割成n个小区间,小区间的长度为h=(b-a)/n。

2.在每个小区间的中点处取值,将积分区间[a, b]分成n个小区间,每个小区间的长度为h/2。

3.对每个小区间进行Simpson积分,得到每个小区间的积分值。

4.将所有小区间的积分值相加,得到总积分值。

以上信息仅供参考,如需了解更多信息,请查阅相关书籍或咨询专业人士。

常用的复化求积公式有复化梯形公式和复化辛普森公式。

常用的复化求积公式有复化梯形公式和复化辛普森公式。

)

2
k 1
f
( xk ) f
(b)
称为复化辛普森公式。
类似于复化梯形公式余项的讨论,复化辛普森公式的 求积余项为
Rs


b a h4 2880
f
(4) ( )
a,b
显然,复化辛普森公式是收敛且稳定的.
复化求积公式的余项表明,只要被积函数f(x)及所涉及 的各阶导数在[a,b]上连续,那么复化梯形公式、复化辛普
n1
求出积分值Ik,然后将它们累加求和,用 I k 作为所求积分I
的近似值。
k 0
I
b
n1
f ( x)dx
a k0ቤተ መጻሕፍቲ ባይዱ
xk1 f ( x)dx n1 h
xk
k0 2
f ( xk ) f ( xk1)

h 2

f
(
x0
)

2(
f
(
x1
)

f (x2 ) ...
森公式所得近似值 Tn , Sn , Cn 的余项和步长的关系依次 为O(h2 ) 、O(h4 )、O(h6 ) 。因此当h→0 (即n→∞)时,Tn , Sn , Cn
都收敛于积分真值,且收敛速度一个比一个快。
例1 依次用n=8的复化梯形公式、n=4的复化辛普森公式计算
I
1 sin x dx
213等份时,用复化梯形公式计算误差不超过 1 105。
2
由于Tn 的求积系数为正,由定理2知复合梯形公式是稳定的.
4.3.2 复化辛普森公式及其误差
将积分区间[a,b]划分为n等分,记子区间 xk , xk1 的中点

用复化Simpson求积分

用复化Simpson求积分

用复化Simpson 求积分函数1.实验目的:(1)掌握用复化Simpson 求积分函数。

(2)附加培养学生的动手能力。

2.实验要求:(1)输入:需要积分的函数,积分的上下线,区间的等分数 。

(2)输出:根据复化Simpson 原理求解的函数积分结果。

3.程序流程:(1)选择需要积分的函数; (2)输入积分函数的上限a ; (3)输入积分函数的下限b ;(4)输入积分区间需要等分数n 。

4.复化Simpson 求解原理:由于Simpson 求积公式要用到三个节点,所以每个子区间1[,]k k x x -上添加一个中点1/2k x -,即, 1/21()2k x a k h -=+-然后在每个子区间上利用Simpson 公式,并将它们想加便的:[]1/21()(1)4()()6nb k k ak hf x dx f k f xf x -=≈-++∑⎰这就是复化Simpson 公式。

** 程序中需要选择的积分函数F 1,F 2,F 3 **F 1表示函数10sin ()x f x d xx=⎰。

F 2表示函数2145ln ()xx e xf x ++++=⎰。

F 3表示函数14co s sin ()1co s x x f x d x x=+⎰。

5.操作流程图:6.分别选择函数F1、F2、F3时的运行结果。

(1)函数F1运行结果图。

(2)函数F2运行结果图。

(3)函数F3的运行结果。

7.源码#include<stdio.h>#include<math.h>//定义函数F1double f1(double x){double s;s=sin(x)/x;if(x==0){return 1;}else{return s;}}//定义函数F2double f2(double x){double s;s=(4+5*x+exp(x)+sqrt(x*x+1)+log(x))/sqrt(2*x*x+1);return s;}//定义函数F3double f3(double x){double s;s=cos(x)*sin(x)/(1+pow(cos(x),4));return s;}main(){int j,i; //for循环中循环变量int t; //用于判断选择那个函数float p,h,a,b,n,d;//p表示点间距,h表示步长,a表示上线,b表示下线,n表示等分数,d表示需要的点数。

复合辛普森公式

复合辛普森公式

实验5 复合辛普森公式李涛 201226100108 计自1201一、实验目的● 用复合辛普森公式计算积分dx x ⎰+482cos 1,使误差不超过-410(注意所给积分特点,做出相应的处理后再计算)二、实验步骤 1.算法原理复合辛普森原理:将区间],[b a 划分为n 等分,在每个子区间[]1,+k k x x 上采用辛普森公式,若记,2121h x x k k +=+则得 ● ∑⎰-===1)()(n k badx x f dx x f I● ).()]()(4)([6121f R x f x f x f h n n k k k k +++=∑-=+记● ∑-=+++=11)]()(4)([6n k k k k n x f x f x f h S● ],)()(2)(4)([6101121∑∑-=-=++++=n k n k k k b f x f x f a f h称为复合辛普森求积公式,其余项为● .),(),()2(180)(11)4(4∑-=+∈-=-=n k k k k k n n x x f h h S I f R ηη于是当],[)(4b a C x f ∈时,与复合梯形公式相似有 ● ),(),()2(180)()4(4b a f h a b S I f R n n ∈--=-=ηη 易知误差阶为4h ,收敛性是显然的,实际上,只要],[)(b a C x f ∈则可得到收敛性,即 ● ⎰=∞→ban n dx x f S )(lim此外,由于n S 中求积公系数均为正数,故知辛普森公式计算稳定。

2.算法步骤复合辛普森:首先将区间],[b a 划分为n 等分,在每个子区间[]1,+k k x x 上采用辛普森公式,若记,2121h x x k k +=+则得∑-=+++=1021)]()(4)([6n k k k k n x f x f x f h S ])()(2)(4)([6101121∑∑-=-=++++=n k n k k k b f x f x f a f h算法过程:这里将辛普森公式写为Sn()函数,然后在Solve()函数里依次计算S1,S2,S4,S6.......当相邻的精度小于eps 时退出循环,则S2n 保存结果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
式中ξ与变量 有x关, (x) (x x0 )(x x1) (x xn ).
12
当 f (x是)次数不超过 的n多项式时,插值多项式就是
函数本身,余项 R[ f ] 为零,所以这时插值型求积公式
至少具有 n次代数精度.
反之,如果求积公式(1.5)至少具有 次n代数精度,则
它必定是插值型的.
实际得到将是
~f ,k

f (xk )
~ fk
k.

n
I n ( f ) Ak f ( xk ),
In
(
~ f)
n
Ak ~f k .
k 0
k 0
15
如果对任给小正数 0,只要误差 充k 分小就有
~
In( f ) In( f )
n
Ak [ f ( xk )
~ fk ]
,
(1.8)
曲边梯形的面积 I(图4-1).
图4-1
3
问题在于点ξ的具体位置一般是不知道的,因而难以
准确算出 f (的)值. 将 f 称(为) 区间
上[a的, b平]均高度.
这样,只要对平均高度 f提(供) 一种算法,相应地便
获得一种数值求积方法.
用两端点“高度“ f (a与) f的(b算) 术平均作为平均高度
构造形如(1.3)的求积公式,原则上是一个确定参数 xk 和 A的k 代数问题.
10
4.1.3 插值型的求积公式
设给定一组节点
a x0 x1 x2 xn b,
且已知函数 f (在x)这些节点上的值, 作插值函数 Ln (.x)

b
In a Ln (x)dx
作为积分
I
b
a
f
的(x近)d似x 值,
f ( )的近似值,这样导出的求积公式
T b a [ f (a) f (b)] 2
是梯形公式(几何意义参看图4-2).
(1.1)
4
图4-2
用区间中点 c 的a “2 b高度” 近f似(c地) 取代平均 高度 f (,)则又可导出所谓中矩形公式(简称矩形公式)
R (b a) f ( a b ). 2
权 A仅k 仅与节点 的xk选取有关, 而不依赖于被积函数
f (x) 的具体形式.
6
这类数值积分方法通常称为机械求积,其特点是将积 分求值问题归结为函数值的计算,这就避开了牛顿-莱布尼 兹公式需要寻求原函数的困难.
7
4.1.2 代数精度的概念
数值求积是近似方法,为保证精度,自然希望求积公 式对尽可能多的函数准确成立.
证明 都有
对任给 0, 取 , 若对 k 0,1, , n
ba
~ f ( xk ) fk
,
则当 Ak 时0有
In ( f ) In ( ~f )
n
Ak (
f
( xk )
~ fk )
(1.2)
5
一般地,可以在区间 [a上, b适] 当选取某些节点 , xk
然后用 f (x加k )权平均得到平均高度 的f (近 )似值,
这样构造出的求积公式具有下列形式:
b
n
f (x)dx
a
Ak f ( xk ),
k 0
(1.3)
式中 x称k 为求积节点; Ak 称为求积系数,亦称伴随节点 xk 的权.
x
初等函数表示的原函数; (2)当 f是(x由) 测量或数值计算给出的一张数据表
时,牛顿-莱布尼兹公式也不能直接运用. 因此有必要研究积分的数值计算问题.
由积分中值定理知,在积分区间 [a内, b存]在一点ξ, 成立
b
a f (x)dx (b a) f ( ),
2
就是说,底为 b 而a高为 f的(矩)形面积恰等于所求
4.1 引言
4.1.1 数值求积的基本思想
依据微积分基本定理,对于积分
b
I a f (x)dx,
只要找到被积函数 f (的x)原函数 F,(x便) 有下列牛顿-莱 布尼兹(Newton-Leibniz)公式:
b
a f (x)dx F (b) F (a).
但对于下列情形:
1
(1)被积函数,诸如 sin x 等, si等n ,x2找不到用
充分必要条件是,它是插值型的.
14
4.1.4 求积公式的收敛性与稳定性
定义2 在求积公式(1.3)中,若
n
b
lim
n h0
k 0
Ak
f
( xk )
a
f (x)dx.
其中
h
max
Байду номын сангаас1i n
(
xi
xi1 ),
则称求积公式(1.3)是收敛的.
在求积公式(1.3)中,由于计算 可f (能xk 产) 生误差 , k
k 0
则表明求积公式(1.3)计算是稳定的, 由此给出:
定义3 对任给 0, 若 0, 只要
f
(xk )
~ fk
(k 0,1, , n)
就有(1.8)成立,则称求积公式(1.3)是稳定的.
16
定理2 若求积公式(1.3)中系数 Ak 0(k 0,1, , n) 则此求积公式是稳定的.
定义1 如果某个求积公式对于次数不超过 m的多项式 均能准确地成立,但对于 m 次1多项式就不准确成立,
则称该求积公式具有 m次代数精度.
梯形公式(1.1)和矩形公式(1.2)均具有一次代数精度.
8
欲使求积公式(1.3)具有 次m代数精度,则只要令它
对 f (x) 1,2,都准, x确m成立,就得到
事实上,这时公式(1.5)对于插值基函数 成立,即有
应lk (准x) 确
b
n
a lk ( x)dx
Ajlk ( x j ).
j 0
13
注意到 lk (x j ) kj , 上式右端实际上即等于 A,k 因而式(1.6)
b
Ak a lk (x)dx.
成立. 这样,有
定理1 形如(1.5)的求积公式至少有 次n 代数精度的
n
Ak b a,
k 0
n
1
Ak xk (b2 a2 ),
k 0
2
n
k 0
Ak xkm
1 (bm1 a m1 ).
m 1
(1.4)
9
如果事先选定求积节点 ,xk譬如,以区间 的[a等, b]
距分点作为节点,这时取 m ,n求解方程组(1.4)即可确
定求积系数 A,k 而使求积公式(1.3)至少具有 次n代数精度.
这样构造出的求积公式
n
I n Ak f ( xk ) k 0
(1.5)
11
称为是插值型的,式中求积系数 A通k 过插值基函数 lk (x)
积分得出
b
Ak a lk (x)dx.
(1.6)
由插值余项定理(第2章的定理2)即知,对于插值型的 求积公式(1.5),其余项
R[ f ] I In b f (n1) ( ) (x)dx, (1.7) a (n 1)!
相关文档
最新文档