复化梯形公式及复化辛普森公式的精度比较
复化梯形公式和复化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. 概述梯形法则和辛普森法则是数值积分中常用的近似方法。
它们通过将曲线或曲面分割成若干个由直线或弧线组成的小区间,并在每个小区间内估计函数值来求解定积分。
这两种方法具有较高的精度和广泛的应用领域,本文将详细介绍这两种方法的原理、应用和优缺点。
2. 梯形法则梯形法则是一种利用梯形来近似曲线下面积的方法。
假设我们要计算函数f(x)在区间[a, b]上的定积分,梯形法则将该区间分成n个小区间,每个小区间的宽度为Δx=(b-a)/n。
然后,我们可以将每个小区间内的函数值连接起来,形成若干个梯形,计算每个梯形的面积,并将它们相加,即可得到函数在整个区间上的近似积分值。
梯形法则的近似积分公式如下:∫[a, b] f(x) dx ≈ Δx/2 * [f(a) + 2f(x1) + 2f(x2) + ... + f(b)]其中,x1, x2, …, xn-1 是分割点。
梯形法则的优点是简单易懂,容易推广到多维积分,适用于一般的函数。
然而,它的缺点是存在一定的误差,特别是在曲线弯曲的区域,误差较大。
3. 辛普森法则辛普森法则是一种利用拟合曲线来近似曲线下面积的方法。
与梯形法则类似,辛普森法则也将函数f(x)在区间[a, b]上分成若干个小区间,每个小区间的宽度为Δx=(b-a)/n,但不同的是,辛普森法则采用二次多项式来拟合每个小区间内的曲线。
辛普森法则的近似积分公式如下:∫[a, b] f(x) dx ≈ Δx/3 * [f(x0) + 4f(x1) + 2f(x2) + 4f(x3) + ... + f(xn)]其中,x0, x1, x2, …, xn 是分割点,且n为偶数。
辛普森法则的优点是相比于梯形法则,它的精度更高,尤其适用于曲线较为平滑的情况。
然而,辛普森法则的缺点是计算量较大,对于需要较高精度的计算而言,分割的区间数需要相对较多。
4. 应用场景梯形法则和辛普森法则在数值计算中有广泛的应用,特别是在求解无法用解析方法求得精确解的积分问题时,这两种方法成为重要的工具。
复合梯形公式和复合辛普森公式例题

复合梯形公式和复合辛普森公式例题复合梯形公式和复合辛普森公式例题数值计算是现代科学技术中重要的研究领域之一,而数值积分是数值计算中的一个重要分支。
数值积分是指在一定区间上用数值方法来逼近求解定积分的过程。
综合考虑精度和效率,梯形公式和辛普森公式是数值积分中比较常用的方法,而复合梯形公式和复合辛普森公式则是对前两种方法的改进和完善。
一、复合梯形公式(一)基本原理梯形公式是数值积分中运用最广泛的一种方法,其基本思想是将被积函数在区间[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:将积分区间[a,b]均匀地分成n个小区间,每个小区间的长度为h=(b-a)/n,其中n为正整数。
步骤2:定义一个函数f(x),并在每个小区间上求出函数在小区间两个端点的函数值,记作f(x0), f(x1), f(x2), ..., f(xn)。
步骤3:根据梯形公式,每个小区间上的定积分近似值为(h/2) * (f(x0) + 2f(x1) + 2f(x2) + ... + 2f(xn-1) + f(xn))。
步骤4:将所有小区间上的定积分近似值相加,得到最终的近似值。
复合辛普森公式是通过将积分区间划分成若干个小区间,然后在每个小区间上应用辛普森公式来逼近定积分的值。
具体的步骤如下:步骤1:将积分区间[a,b]均匀地分成n个小区间,每个小区间的长度为h=(b-a)/n,其中n为正偶数。
步骤2:定义一个函数f(x),并在每个小区间上求出函数在小区间三个点的函数值,记作f(x0),f(x1),f(x2)。
步骤3:根据辛普森公式,每个小区间上的定积分近似值为(h/3)*(f(x0)+4f(x1)+f(x2))。
步骤4:将所有小区间上的定积分近似值相加,得到最终的近似值。
复合辛普森公式的误差主要取决于小区间的数量和函数在每个小区间上的变化情况。
与复合梯形公式相比,复合辛普森公式的精度更高,但计算复杂度也更高。
综上所述,复合梯形公式和复合辛普森公式是数值积分中常用的近似计算方法。
它们通过将积分区间划分成小区间,并在每个小区间上应用相应的公式来逼近定积分的值。
这两种方法都可以通过增加小区间的数量来提高近似的精度,但相应地也会增加计算的复杂度。
根据实际情况,我们可以选择合适的方法来计算需要求解的定积分。
复合梯形公式和复合辛普森公式误差

复合梯形公式和复合辛普森公式误差在我们学习数学的过程中,常常会遇到各种各样的公式,而复合梯形公式和复合辛普森公式就是其中比较重要的两个。
这两个公式在数值计算中发挥着重要的作用,可别小瞧它们,这里面的学问可大着呢!先来说说复合梯形公式。
它就像是一个勤劳的小工人,虽然简单直接,但也有自己的小脾气。
复合梯形公式的基本思想就是把区间分成很多小段,然后在每个小段上用梯形的面积来近似函数的积分值。
这就好像我们要计算一段山坡的面积,把山坡分成一段一段的,每一段都看成一个梯形,然后把这些梯形的面积加起来,就得到了山坡的近似面积。
我记得有一次在课堂上,老师给我们出了一道用复合梯形公式计算积分的题目。
那道题可把大家难住了,大家都在草稿纸上不停地写写画画。
我也不例外,一开始我总是算错,不是区间分错了,就是梯形面积计算有误。
但是我没有放弃,一遍又一遍地检查,终于发现了问题所在。
原来我在计算梯形面积的时候,忘记乘以二分之一了。
经过这次小小的挫折,我对复合梯形公式的理解更加深刻了,也明白了做数学题一定要细心,不能马虎。
再聊聊复合辛普森公式。
它可比复合梯形公式要“聪明”一些,精度也更高。
复合辛普森公式就像是一个精明的小管家,能够更准确地估计函数的积分值。
它把区间分成偶数段,然后用抛物线来近似函数,计算出的结果更接近真实值。
有一次我在做一个数学实验,要用复合辛普森公式计算一个复杂函数的积分。
我按照公式一步一步地计算,心里还挺紧张,生怕出错。
当我算出结果,和标准答案一对比,发现竟然相差无几,那一刻我心里别提多高兴了,就像是在黑暗中找到了光明一样。
那么,复合梯形公式和复合辛普森公式到底有什么误差呢?其实啊,复合梯形公式的误差与区间长度的平方成正比,而复合辛普森公式的误差与区间长度的四次方成正比。
这就意味着,在相同的区间长度下,复合辛普森公式的误差要比复合梯形公式小得多。
比如说,我们要计算一个函数在[0, 1]区间上的积分,如果用复合梯形公式,把区间分成 10 段,可能会有比较大的误差;但如果用复合辛普森公式,同样分成 10 段,误差就会小很多。
复合梯形公式与复合辛普森公式对比

复合梯形公式与复合辛普森公式对比SHANGHAI JIAO TONG UNIVERSITY题目名称:复合梯形公式与复合辛普森公式对比学生姓名:学生学号:班级:学院(系):目录1.概述 (4)2.问题提出 (5)3.算法推导 (6)4.算法框图 (7)4.1复合梯形公式算法流程图 (7)4.2 复合辛普森公式算法流程图 (7)5.MATLAB源程序 (9)6.结论与展望 (10)图表目录图4-1 复合梯形公式算法流程图 (7)图4-2 复合辛普森公式算法流程图 (9)图6-1 MATLAB计算结果 (10)表2-1函数计算结果表 (5)1.概述梯形求积公式和辛普森求积公式分别是牛顿-科斯特公式中n=1和n=2时的情形。
其中梯形求积公式可表示为由于牛顿-科斯特公式在n≥8时不具有稳定性,故不可能通过提高阶的方法来提高求积精度。
为了提高精度通常可把积分区间分成若干子区间(通常是等分),再在每个子区间上用低阶求积公式。
这种方法称为复合求积法。
本文主要讨论复合梯形公式和复合辛普森公式在同一数学问题中的应用。
首先给出了复合梯形公式和复合辛普森公式的推导过程以及其余项的表达形式,然后用流程图的形式介绍算法思路,再运用MATLAB编写代码计算结果,最后对结果进行对比讨论。
希望通过两个算法在同一个算例中的应用对比,更好的理解和掌握复合梯形公式和复合辛普森公式的适用范围和适用条件。
并且能够熟悉MATLAB编程求解问题的流程,掌握编程化的思想方法。
同时对两种方法的计算结果对比分析,讨论两种求积方法的计算精度。
2.问题提出对于函数f(x)=sinxx给出的函数表如下,试用复合梯形公式和复合辛普森公式计算积分I=∫sinxx dx1。
表错误!文档中没有指定样式的文字。
-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 为复合梯形公式。
复化梯形公式和复化辛普森公式

复化梯形公式和复化辛普森公式1. 引言嘿,大家好!今天我们来聊聊数学里那些看似高深莫测的公式,尤其是复化梯形公式和复化辛普森公式。
这些名字听起来就像是从某部科幻片里蹦出来的角色,但其实它们是我们在数值积分中不可或缺的好帮手。
你知道吗?它们就像是数学世界里的“超能英雄”,让我们轻松搞定积分,简直是妙不可言。
2. 复化梯形公式2.1 你知道什么是梯形吗?首先,咱们得聊聊复化梯形公式。
说白了,就是把一个复杂的积分任务,分解成几个小的梯形来求解。
想象一下,你在河边钓鱼,河水流得可欢了。
为了找一个合适的钓鱼点,你可能得把河分成几段,然后每一段的宽度就是你的小梯形。
你看,这就是复化梯形的魅力所在!2.2 如何运用复化梯形公式?用这个公式的时候,你只需把整个区间分成N个小区间,每个区间的宽度都是一样的。
然后,把每个小区间的函数值拿来加一加,再乘上宽度的一半,最后再把头尾的函数值加上。
这听起来是不是很简单?比如,你想算从0到1的某个函数的积分,只要把这个区间分成若干段,像切蛋糕一样,每一片都求个函数值,然后把结果合起来就行了。
简单得就像吃个冰淇淋,大家都喜欢。
3. 复化辛普森公式3.1 辛普森是谁?接下来,让我们来看看复化辛普森公式。
辛普森这个名字,大家可能都听过,或者说过“这是辛普森家的事儿”。
其实,他是一位牛逼的数学家,专门研究如何让积分变得更加简单。
辛普森公式就像是对梯形公式的一次升级,像换了个新款手机,功能更强大,效果更好。
3.2 如何运用复化辛普森公式?用复化辛普森公式的时候,我们也是把整个区间分成N个小区间,不过这里的N必须是偶数哦!每个小区间的宽度仍然是一样的。
然后,用函数值的加权平均法来计算。
换句话说,你把每个小区间的头尾和中间的函数值都考虑进来,像是为你的冰淇淋加上各种口味的配料。
最后,你的结果就会比单纯用梯形公式得来的要精准多了,仿佛一口下去,味蕾都在舞蹈。
4. 比较与应用4.1 谁更强?说到这儿,很多人就会问,复化梯形公式和复化辛普森公式,谁更厉害呢?其实,这就像问“苹果和橘子,哪个更好吃”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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)=0.5*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+0.5*(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 =
0.946083070076534
s1 =
0.945690863582701
s2 =
0.946083085384947
结果分析
根据结果输出可知:积分1
sin()
x I dx x =⎰
的准确值为:I= 0.946083070076534; 通过复化梯形公式和复化辛普森公式得到的积分值为: s1 =0.945690863582701: s2 =0.946083085384947; 相对误差为:
411100
4.1510100S I I
δ--=
⨯=⨯;
822100 1.6210100S I I
δ--=⨯=⨯;
显然,从相对误差可知通过辛普森公式得到的结果误差小精度高。
由于以上的算法只算了结点个数为9的情况,只能横向比较两公式的精确程度,而不能分别比较两公式随节点个数变化精度的变化,故而将以上程序重新编(以上程序为最终程序)可得出两公式随节点个数变化精度的变化情况所取得节点个数为从6到15,共计10种情况对应的误差值如下表:
(表1)
注:由于辛普森公式的精度较高,所得的误差值较小不宜比较,故而将辛普森公式计算出的误差值乘上10000得到以上表1的结果,其相应的曲线图如下(图1)。
(图1:两误差曲线比较)
备注:红色,青色分别比奥斯曲线复化梯形公式和复化辛普森公式的误差值曲线从曲线图可知复化梯形公式和复化辛普森公式的随着节点个数的增加误差值越小即其精度逐渐增大,且复化辛普森公式的精度远高于复化梯形公式的精度。