复化梯形公式和复化辛普森公式的精度比较

合集下载

分别利用矩形法梯形法辛普森法对定积分进行近似计算并比较计算效果

分别利用矩形法梯形法辛普森法对定积分进行近似计算并比较计算效果

分别利用矩形法梯形法辛普森法对定积分进行近似计算并比较计算效果定积分是微积分中重要的概念之一,表示在一个区间上函数的面积。

在计算定积分时,有时候我们无法通过解析方法求得精确的结果,这时候可以利用数值方法来进行近似计算。

常见的数值方法包括矩形法、梯形法和辛普森法。

本文将分别对这三种方法进行介绍并进行比较。

1.矩形法(矩形近似法):矩形法是最简单的数值方法之一,它的基本思想是将函数曲线上每个小区间的面积近似为一个矩形的面积,然后将这些矩形的面积相加,即可得到函数曲线下的面积。

根据矩形法的计算公式可以得到:∫f(x)dx ≈ Δx·(f(x₁)+f(x₂)+...+f(xₙ))其中,Δx为区间的长度,f(x)为函数在区间上的值。

2.梯形法(梯形近似法):梯形法同样是利用近似的思想,将函数曲线上每个小区间的面积近似为一个梯形的面积,然后将这些梯形的面积相加,即可得到函数曲线下的面积。

梯形法的计算公式为:∫f(x)dx ≈ (Δx/2)·[f(x₀)+2f(x₁)+2f(x₂)+...+2f(xₙ-1)+f(xₙ)]其中,Δx为区间的长度,f(x)为函数在区间上的值。

3.辛普森法(抛物线近似法):辛普森法是一种基于三次多项式插值的数值积分方法,它通过将函数曲线上每个小区间的面积近似为一个抛物线的面积,然后将这些抛物线的面积相加,即可得到函数曲线下的面积。

辛普森法的计算公式为:∫f(x)dx ≈ (Δx/3)·[f(x₀)+4f(x₁)+f(x₂)+4f(x₃)+...+4f(xₙ-1)+f(xₙ)]其中,Δx为区间的长度,f(x)为函数在区间上的值。

例:计算函数f(x)=√(1+x²)在区间[0,1]上的定积分。

接下来,我们分别利用矩形法、梯形法和辛普森法对这个定积分进行近似计算,并比较计算结果。

1)矩形法:将区间[0,1]平均分为n个小区间,取xᵢ=i/n,其中i=0,1,2,...,n。

(完整版)复合梯形公式与复合辛普森公式对比

(完整版)复合梯形公式与复合辛普森公式对比

SHANGHAI JIAO TONG UNIVERSITY题目名称:复合梯形公式与复合辛普森公式对比学生姓名:学生学号:班级:学院(系):目录1.概述 (3)2.问题提出 (4)3.算法推导 (5)4.算法框图 (6)4.1复合梯形公式算法流程图 (6)4.2 复合辛普森公式算法流程图 (7)5.MATLAB源程序 (8)6.结论与展望 (9)图表目录图4-1 复合梯形公式算法流程图 (6)图4-2 复合辛普森公式算法流程图 (7)图6-1 MATLAB计算结果 (9)表2-1函数计算结果表 (4)1.概述梯形求积公式和辛普森求积公式分别是牛顿-科斯特公式中n=1和n=2时的情形。

其中梯形求积公式可表示为由于牛顿-科斯特公式在n≥8时不具有稳定性,故不可能通过提高阶的方法来提高求积精度。

为了提高精度通常可把积分区间分成若干子区间(通常是等分),再在每个子区间上用低阶求积公式。

这种方法称为复合求积法。

本文主要讨论复合梯形公式和复合辛普森公式在同一数学问题中的应用。

首先给出了复合梯形公式和复合辛普森公式的推导过程以及其余项的表达形式,然后用流程图的形式介绍算法思路,再运用MATLAB编写代码计算结果,最后对结果进行对比讨论。

希望通过两个算法在同一个算例中的应用对比,更好的理解和掌握复合梯形公式和复合辛普森公式的适用范围和适用条件。

并且能够熟悉MATLAB编程求解问题的流程,掌握编程化的思想方法。

同时对两种方法的计算结果对比分析,讨论两种求积方法的计算精度。

2.问题提出对于函数f(x)=sinxx给出的函数表如下,试用复合梯形公式和复合辛普森公式计算积分I=∫sinxx dx1。

表 2-1函数计算结果表3. 算法推导3.1复合梯形公式根据梯形公式,将区间[a,b]划分为n 等份,分点x k =a +kℎ,h =b−a n,k =0,1,…,n ,在每个子区间[x k ,x k+1](k =0,1,…,n −1)上采用梯形公式,则得:记则T n 为复合梯形公式。

几种数值积分算法的误差分析

几种数值积分算法的误差分析

Sn

h 6
f
n1
(a) 2
k 1
f
n
(xk ) 4
k 1
f
(
x k

1
)

2
f
(b)

(3)复化Cotes求积公式
h
n1
3
n1
n1

Cn

90
7
f
(a) 32( (
k 0
f
(
x k

1
)

4
f
(xk

4
))

12
k
0
(
x k
1、Newton-Cotes求积公式的误差分析
(1)梯形公式的截断误差 (2)辛普森公式截断误差 (3)柯特斯公式截断误差
RT

f ( ) (b a)3, 12
(a,b)
RS
(b a)5 2880
f
(4) ( ), (a,b)
RC


2(b a) 945
(b
一、几种数值积分的算法
1、Newton-Cotes求积公式
(1)梯形公式(n=1)
b f (x)dx T b af (a) f (b)
a
2
(2)Simpson(辛普森)公式(n=2)
b
f (x)dx S
a

b
6
a
f
(a)

4
f
(a
2
b)

f
(b)
(3)Cotes公式(n=4)
b

数值分析积分实验报告(3篇)

数值分析积分实验报告(3篇)

第1篇一、实验目的本次实验旨在通过数值分析的方法,研究几种常见的数值积分方法,包括梯形法、辛普森法、复化梯形法和龙贝格法,并比较它们在计算精度和效率上的差异。

通过实验,加深对数值积分理论和方法的理解,提高编程能力和实际问题解决能力。

二、实验内容1. 梯形法梯形法是一种基本的数值积分方法,通过将积分区间分割成若干个梯形,计算梯形面积之和来近似积分值。

实验中,我们选取了几个不同的函数,对积分区间进行划分,计算积分近似值,并与实际积分值进行比较。

2. 辛普森法辛普森法是另一种常见的数值积分方法,它通过将积分区间分割成若干个等距的区间,在每个区间上使用二次多项式进行插值,然后计算多项式与x轴围成的面积之和来近似积分值。

实验中,我们对比了辛普森法和梯形法的计算结果,分析了它们的精度差异。

3. 复化梯形法复化梯形法是对梯形法的一种改进,通过将积分区间分割成多个小区间,在每个小区间上使用梯形法进行积分,然后计算所有小区间积分值的和来近似积分值。

实验中,我们对比了复化梯形法和辛普森法的计算结果,分析了它们的精度和效率。

4. 龙贝格法龙贝格法是一种通过外推加速提高计算精度的数值积分方法。

它通过比较使用不同点数(n和2n)的积分结果,得到更高精度的积分结果。

实验中,我们使用龙贝格法对几个函数进行积分,并与其他方法进行了比较。

三、实验步骤1. 编写程序实现梯形法、辛普森法、复化梯形法和龙贝格法。

2. 选取几个不同的函数,对积分区间进行划分。

3. 使用不同方法计算积分近似值,并与实际积分值进行比较。

4. 分析不同方法的精度和效率。

四、实验结果与分析1. 梯形法梯形法在计算精度上相对较低,但当积分区间划分足够细时,其计算结果可以接近实际积分值。

2. 辛普森法辛普森法在计算精度上优于梯形法,但当积分区间划分较细时,计算量较大。

3. 复化梯形法复化梯形法在计算精度上与辛普森法相当,但计算量较小。

4. 龙贝格法龙贝格法在计算精度上优于复化梯形法,且计算量相对较小。

复化梯形公式和复化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=用复化梯形公式计算的结果为:,与精确解的误差为:。

球体体积计算-梯形公式与辛普森公式

球体体积计算-梯形公式与辛普森公式

梯形公式和辛普森公式计算球体体积题目:分别用梯形公式和辛普森公式计算半径为1的球体体积解答:计算积分值:I=梯形公式:I=(b-a)/2*[]组合梯形公式:辛普森公式:I=(b-a)/6*[] 组合辛普森公式:+*(1)梯形公式计算定义函数function y=fx(x) function T_n=fht(a,b,n)源代码:function y=fx(x)y=3.14*(1-x^2);function T_n=fht(a,b,n)h=(b-a)/n;for k=0:nx(k+1)=a+k*h;endT_1=h/2*(fx(x(1))+fx(x(n+1)));for i=2:nF(i)=h*fx(x(i));endT_2=sum(F);T_n=T_1+T_2;(2)辛普森公式计算定义函数function G_n=sps(a,b,n)源代码:function G_n=sps(a,b,n)h=(b-a)/n;for k=0:nx(k+1)=a+k*hx_k(k+1)=x(k+1)+1/2*hendG_1=h/6*(fx(x(1))+fx(x(n+1)));for i=2:nF_1(i)=h/3*fx(x(i));endfor j=1:nF_2(j)=2*h/3*fx(x_k(j));endG_2=sum(F_1)+sum(F_2);G_n=G_1+G_2;结果分析:梯形公式:n=10,100,1000,T_n=fht(-1,1,10) T_n=4.1848T_n=fht(-1,1,100) T_n=4.1862T_n=fht(-1,1,1000) T_n=4.1867辛普森公式:n=10,100,1000G_n=sps(-1,1,10) G_n=4.1867G_n=sps(-1,1,10) G_n=4.1867G_n=sps(-1,1,10) G_n=4.1867通过对比,n值越大,球体体积的计算结果更加准确,并且辛普森公式计算比梯形公式更加准确V-n关系曲线梯形公式V-n曲线代码:辛普森公式V-n曲线代码:图形:。

复合梯形公式和复合辛普森公式例题

复合梯形公式和复合辛普森公式例题

复合梯形公式和复合辛普森公式例题复合梯形公式和复合辛普森公式例题数值计算是现代科学技术中重要的研究领域之一,而数值积分是数值计算中的一个重要分支。

数值积分是指在一定区间上用数值方法来逼近求解定积分的过程。

综合考虑精度和效率,梯形公式和辛普森公式是数值积分中比较常用的方法,而复合梯形公式和复合辛普森公式则是对前两种方法的改进和完善。

一、复合梯形公式(一)基本原理梯形公式是数值积分中运用最广泛的一种方法,其基本思想是将被积函数在区间[a,b]上的曲线用若干条梯形逼近,然后计算梯形的面积之和,得到函数曲线下的面积。

若将区间[a,b]分为n个小区间,梯形公式还可以推广为复合梯形公式。

复合梯形公式的基本原理是将整个区间[a,b]等分为n 个小区间,每个小区间的长度为h=(b-a)/n,然后对于每个小区间求出梯形的面积,并将所有梯形面积加起来得到函数曲线下的面积,并作为积分的近似值。

具体地说,复合梯形公式的表达式为:$$\int_a^b f(x)dx \approx \frac{h}{2}[f(a)+2\sum_{i=1}^{n-1} f(x_{i})+f(b)]$$其中,$x_1=a+h,x_2=a+2h,...,x_{i+1}=x_i+h,...,x_{n}=b-h$,h是小区间长度。

(二)例题现在考虑如下的积分:$$I=\int_0^1 e^{x^2} dx$$将整个区间[0,1]等分为4个小区间,得到$h=0.25$,对于每个小区间,可以分别求出梯形的面积,得到:$$\frac{h}{2}[f(0)+2f(0.25)+2f(0.5)+2f(0.75)+f(1)]$$代入函数$f(x)=e^{x^2}$,得到近似积分值为$1.4627$。

使用Matlab代码进行计算,得到具体结果为:>> f=@(x) exp(x.^2); h=0.25; x=0:h:1;I=h/2*(f(x(1))+2*sum(f(x(2:end-1)))+f(x(end))) sprintf('%.5f',I)ans =1.46270可以发现,与精确值$1.46265$相比,误差很小,说明复合梯形公式是一种很有效的近似积分方法。

复化梯形公式和复化辛普生公式

复化梯形公式和复化辛普生公式
源程序:
1)复化梯形
#include<iostream.h>
#include<math.h>
class tixing
{
private:
int n,k;//n是等分数,
double h,f;//h步长
double a,b,integral,sum;//a上限,b下限,integral积分值
public:
《数值分析》实验报告
姓名
学号
日期
2012.11.20
实验室
设备编号
实验题目
用复化梯形公式和复化辛普生公式求I=∫01sinx/xdx
一实验目的
1.了解复化梯形公式和复化辛普生公式。
2.用复化梯形公式和复化辛普生公式求I=∫01sinx/xdx。
二实验内容
算法:复化梯形公式是Tn=∑h/2[f(xi)+ f(xi+1)]=(b-a)/2n[f(a)+2∑f(xi)+f(b)]记子段[xi,xi+1]的中点为xi+1/2,则复化Simpson公式为Sn=∑h/6[f(xi)+4f(xi+1/2)+ f(xi+1)]=b-a/6n[f(a)+4∑f(xi+1/2)+2f(xi)+f(b)]
double a,b,f,integral,interval;//a上限,b下限,integral积分值,interval每次应用法则的区间长度(2h)
double sum_odd_terms,x,sum_even_terms;//sum_even_terms偶数结点处的函数值之和,sum_odd_terms奇数结点处的函数值之和
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验四、复化梯形公式和复化Simpson公式的精度比较
(2学时)
一、实验目的与要求
1、熟悉复化Simpson公式和复化梯形公式的构造原理;
2、熟悉并掌握二者的余项表达式;
3、分别求出准确值,复化梯形的近似值,复化Simpson的近似值,并比较后两
者的精度;
4、从余项表达式,即误差曲线,来观察二者的精度,看哪个更接近于准确值。

二、实验内容:
对于函数
sin
()
x
f x
x
=,试利用下表计算积分1
sin x
I dx
x
=⎰。

表格如下:
注:分别利用复化梯形公式和复化Simpson公式计算,比较哪个精度更好。

其中:积分的准确值0.9460831
I=。

三、实验步骤
1、熟悉理论知识,并编写相应的程序;
2、上机操作,从误差图形上观察误差,并与准确值相比较,看哪个精度更好;
3、得出结论,并整理实验报告。

四、实验注意事项
1、复化梯形公式,程序主体部分:
for n=2:10
T(n)=*T(n-1)
for i=1:2^(n-2)
T(n)=T(n)+(sin((2*i-1)/2^(n-1))/((2*i-1)/2^(n-1)))/2^(n-1);end
end
2、复化Simpson公式,程序主体部分:
for i=1:10
n=2.^i
x=0:1/n:1
f=sin(x)./x
f(1)=1
s=0
for j=1:n/2
s=s+f(2*j)
end
t=0
for j=1:(n/2-1)
t=t+f(2*j-1)
end
S(i)=1/3/n*(f(1)+4*s+2*t+f(n+1))
end
五.实验内容
复化梯形公式和复化辛普森公式的引入
复化梯形公式:
1
10[(()]2
n n k k k h
T f x f x -+==+∑;
复化辛普森公式:
1
1102
[(4()()]6n n k k k k h
S f x f x f x -++
==++∑;
根据题意和复化梯形公式、复化辛普森公式的原理编辑程序求解代码如下: Matlab 代码 clc
s=quad('sin(x)./x',0,1) p1=zeros(10,1); p2=zeros(10,1); for k=6:15 s1=0; s2=0;
x=linspace(0,1,k); y=sin(x)./x;
z=(1/(2*(k-1))):(1/(k-1)):1; sz=sin(z)./z; y(1)=1; for i=1:(k-1)
s1=s1+*(x(i+1)-x(i))*(y(i)+y(i+1)); end for j=1:(k-1)
s2=s2+(1/6)*(x(j+1)-x(j))*(y(j)+y(j+1)+4*sz(j));
end
p1(k-5)=s1-s;
p2(k-5)=s2-s;
end
p1;
p2;
s1=s+p1(4)
s2=s+p2(4)
format long
for k=1:length(p1)
p1(k)=abs(p1(k));
p2(k)=abs(p2(k));
end
p1
p2
plot(6:1:15,p1,'-r')
hold on
plot(6:1:15,10000*(p2),'-c')
hold off
部分程序结果输出:
s =
s1 =
s2 = 结果分析
根据结果输出可知:积分1
sin()
x I dx x =⎰
的准确值为:I= ; 通过复化梯形公式和复化辛普森公式得到的积分值为: s1 =: s2 =;
相对误差为:
411100
4.1510100S I I
δ--=
⨯=⨯;
822100 1.6210100S I I
δ--=⨯=⨯;
显然,从相对误差可知通过辛普森公式得到的结果误差小精度高。

由于以上的算法只算了结点个数为9的情况,只能横向比较两公式的精确程度,而不能分别比较两公式随节点个数变化精度的变化,故而将以上程序重新编(以上程序为最终程序)可得出两公式随节点个数变化精度的变化情况所取得节点个数为从6到15,共计10种情况对应的误差值如下表:
(表1)
注:由于辛普森公式的精度较高,所得的误差值较小不宜比较,故而将辛普森公式计算出的误差值乘上10000得到以上表1的结果,其相应的曲线图如下(图1)。

(图1:两误差曲线比较)
备注:红色,青色分别比奥斯曲线复化梯形公式和复化辛普森公式的误差值曲线从曲线图可知复化梯形公式和复化辛普森公式的随着节点个数的增加误差值越小即其精度逐渐增大,且复化辛普森公式的精度远高于复化梯形公式的精度。

相关文档
最新文档