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

合集下载

复化梯形公式和复化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. 概述梯形法则和辛普森法则是数值积分中常用的近似方法。

它们通过将曲线或曲面分割成若干个由直线或弧线组成的小区间,并在每个小区间内估计函数值来求解定积分。

这两种方法具有较高的精度和广泛的应用领域,本文将详细介绍这两种方法的原理、应用和优缺点。

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 谁更强?说到这儿,很多人就会问,复化梯形公式和复化辛普森公式,谁更厉害呢?其实,这就像问“苹果和橘子,哪个更好吃”。

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

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

数值计算方法上机题目3一、计算定积分的近似值: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= 7.3891等分数 n=7019已知值与计算值的误差 R= 2.8300e-0082. 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= 7.3891等分数 n=24已知值与计算值的误差 R= 2.7284e-008用复化梯形公式计算的结果为:7.3891,与精确解的误差为:2.8300e-008。

几种常用数值积分方法的比较汇总

几种常用数值积分方法的比较汇总

几种常用数值积分方法的比较汇总数值积分是一种用计算机逼近求解定积分的方法,它通过将区间划分为多个小区间,并在每个小区间上进行数值计算,最后将结果相加以得到整个区间上的定积分近似值。

在实际应用中,常用的数值积分方法有梯形法则、辛普森法则和复化求积法。

下面将详细介绍这几种方法,并对它们进行比较汇总。

1.梯形法则是一种基本的数值积分方法。

它的原理是将每个小区间视为一条梯形,并用该梯形的面积来近似表示该小区间的积分值。

具体而言,对于求解区间[a,b]上的定积分,梯形法则的计算公式为:∫[a,b]f(x)dx≈ (b-a)[f(a) + f(b)]/2梯形法则的优点是简单易懂、计算速度较快,但它的缺点是精度较低,特别是当被积函数曲线较为陡峭时。

2.辛普森法则是一种比梯形法则更精确的数值积分方法。

它的原理是将每个小区间视为一个二次曲线,并用该曲线下的面积来近似表示该小区间的积分值。

具体而言,对于求解区间[a,b]上的定积分,辛普森法则的计算公式为:∫[a,b]f(x)dx ≈ (b-a)[f(a) + 4f((a+b)/2) + f(b)]/6辛普森法则的优点是精度较高,特别是对于曲线比较平滑的函数,它能给出较为准确的积分近似值。

然而,辛普森法则的计算量较大,因为它需要在每个小区间上计算3个点的函数值。

3.复化求积法是一种综合性的数值积分方法,它基于划分区间的思想,将整个求积区间划分为多个小区间,并在每个小区间上采用其中一种数值积分方法来进行计算。

具体而言,复化求积法可以采用梯形法则或辛普森法则来进行计算。

它的计算公式如下:∫[a,b]f(x)dx ≈ ∑[i=0,n-1] (b-a)/n * [f(a + i(b-a)/n) +f(a + (i+1)(b-a)/n)]/2复化求积法的优点是能够灵活地根据被积函数的特点选择合适的数值积分方法,从而提高求积的准确性。

但它的计算量较大,尤其在需要高精度的情况下,需要划分较多的小区间。

数值分析数值微积分实验

数值分析数值微积分实验

实验报告
一、实验目的
复化求积公式计算定积分。

二、实验题目
1.用复化梯形公式、复化辛普森公式求下列定积分,要求绝对误差为3
10-=ε,并将计算结果与精确解进行比较: dx e x e x 232
143
2⎰= 三、实验原理
复化求积公式程序,复化辛普森公式程序。

四、实验内容及结果
五、实验结果分析
实验1中复化梯形公式和复化辛普森公式的比较:
运行复化梯形公式的时候,因为要去找区分精度,所以花的时间比较长,需要将区间分为365份时才能达到规定的误差范围。

而复化辛普森公式则只需要将区间分为12份即可。

说明复化辛普森比较好。

利用复化梯形公式、复化simpson 公式计算积分

利用复化梯形公式、复化simpson 公式计算积分

教师签名:
年月日
上图是利用复化simpson公式所画出的误差。其中:红线是计算误差,‘*’号是实际误差。
注:纵轴是0.0001。
0.5208、0.1029、0.0326、0.0133、0.0064、0.0035、0.0020、0.0013、0.0008是n值分别为2到10的实际误差,-0.0083是计算误差。



注:由于被积函数是x.^4,它的四阶倒数是24,所以它的积分余项是:(-(b-a)/180*((b-a)/2).^4*24)











上图是利用复化梯形公式所画出的误差。其中:红线是计算误差,‘*’号是实际误差。-0.0017是计算误差。0.0417、0.0185、0.0104、0.0067 0.0046、0.0034、0.0026、0.0021、0.0017是n值分别为2到10的实际误差。
x=linspace(0,1,9);
plot(x,A,'r',x,R,'*')%将计算误差与实际误差用图像画出来
注:由于被积函数是x.^2,它的二阶倒数为2,所以积分余项为:(-(b-a)/12*h.^ 2*2)




















利用复化simpson公式的程序代码如下:
同样首先建立被积函数的函数文件:
f=x.^2;%首先建立被积函数,以便于计算真实值。
a=0;%积分下线
b=1;%积分上线

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

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

)

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公式

数值计算方法上机题目3一、计算定积分的近似值: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= 7.3891等分数n=7019已知值与计算值的误差R= 2.8300e-0082. 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= 7.3891等分数n=24已知值与计算值的误差R= 2.7284e-008用复化梯形公式计算的结果为:7.3891,与精确解的误差为:2.8300e-008。

数值计算考题五——复合梯形求积公式与复合辛普森求积公式求积分

数值计算考题五——复合梯形求积公式与复合辛普森求积公式求积分

数值计算考题五1. 分别用复合梯形求积公式与复合辛普森求积公式求积分I=⎰102x e sinx dx 的近似值,要求误差不超过ε=0.5⨯10-5.解:方法一: 复合梯形求积公式复合梯形求积公式是将积分区间划分为n 个很小的区间,然后将各个小区间的面积相加而得到在整个积分区间上的积分,当分成的小区间数n →∞时,求得的面积就等于积分的精确值。

由复合梯形求积公式的余项R n T 可得满足精度要求≤ε0.5⨯10-5时区间()b a ,被分成的区间数n 的最小值为700,所以在编程时循环次数应大于等于这个值,方可满足精度要求。

以下是编写的C 语言程序:#include<stdio.h>#include<math.h>void main(){int n=700,i;double x,f=0.0,t,h,T=0.0,c=2.0,a=0.0,b=1.0;h=(b-a)/n;for(i=0;i<n;i++){x=a+i*h;f=f+exp(pow(x,c))*sin(x);}t=(h/2)*(2*f+sin(1)*exp(1));printf("T=%f\n",t);}输出结果为T=0.778746.方法二:复合辛普森求积公式:复合辛普森求积法是将积分区间分割之后,在每个小区间[x i ,x i+1]上运用辛普森求积公式。

以下是编写的c 语言程序:#include<stdio.h>#include<math.h>void main(){int n=700,i;double x1,x2,f1=0.0,f2=0.0,t,h,T=0.0,c=2.0,a=0.0,b=1.0;h=(b-a)/n;for(i=0;i<n;i++){x1=a+i*h;x2=a+(i+0.5)*h;f1=f1+exp(pow(x1,c))*sin(x1);f2=f2+exp(pow(x2,c))*sin(x2); }t=(h/6)*(2*f1+sin(1)*exp(1)+4*f2); printf("T=%f\n",t);}程序输出结果为0.778745.2. 用高斯求积法求上述积分的近似值。

梯形公式和辛普森公式计算积分

梯形公式和辛普森公式计算积分

梯形公式和辛普森公式计算积分梯形公式和辛普森公式都是数值积分的常用方法。

数值积分是一种近似计算函数积分值的方法,适用于无法求得解析解的复杂函数。

梯形公式是数值积分中最简单的一种方法。

它的原理是将要积分的函数曲线划分为一系列梯形,然后计算每个梯形的面积并相加得到积分值。

具体步骤如下:1. 将积分区间[a, b]等分为n个小区间,每个小区间的宽度为h = (b - a) / n。

2. 计算函数在每个小区间的端点处的函数值,得到f(a), f(a+h), f(a+2h), ..., f(b)。

3. 使用梯形公式计算每个小区间的面积:Area = (f(i) + f(i+1)) * h / 2,其中i为当前小区间的序号。

4. 将每个小区间的面积相加得到最终的积分值:Integral = Area1 + Area2 + ... + Arean。

梯形公式的优点是简单易懂、易于实现,但是在求解复杂函数时可能会出现较大误差。

为了提高积分精度,可以增加划分的小区间数n。

辛普森公式是一种更精确的数值积分方法,它的原理是利用二次多项式对函数曲线进行近似。

具体步骤如下:1. 将积分区间[a, b]等分为2n个小区间,每个小区间的宽度为h = (b - a) / (2n)。

2. 计算函数在每个小区间的端点处的函数值,得到f(a), f(a+h), f(a+2h), ..., f(b)。

3. 使用辛普森公式计算每个小区间的面积:Area = (h/3) * (f(i) + 4f(i+1) + f(i+2)),其中i为当前小区间的序号。

4. 将每个小区间的面积相加得到最终的积分值:Integral = Area1 + Area2 + ... + Area2n。

辛普森公式相比梯形公式在积分计算中具有更高的精度。

它通过利用二次多项式对函数曲线进行逼近,可以更准确地估计出积分值。

但是,辛普森公式的缺点是需要计算更多的函数值,导致计算量增加。

梯形公式和辛普森公式计算积分

梯形公式和辛普森公式计算积分

梯形公式和辛普森公式是用于计算定积分的数值逼近方法。

在实际应用中,我们经常会遇到需要计算函数在某个区间上的定积分值的情况,而对于一些复杂的函数,直接进行积分计算可能会十分困难,甚至是不可能的。

我们需要借助数值逼近方法来得到积分的近似值。

梯形公式和辛普森公式都是数值积分的基本方法,它们的原理都是通过将被积函数在积分区间上进行分割,然后利用分割后的小区间上的函数值,以及各个小区间的长度来进行计算,从而得到积分的近似值。

梯形公式是一种线性插值法,它的原理是将积分区间等分成n个小区间,然后用每个小区间的两个端点处的函数值进行线性插值,将每个小区间的面积近似为一个梯形,再将所有梯形的面积相加就得到了整个积分的近似值。

具体地,对于被积函数f(x)在区间[a, b]上的积分,我们可以利用梯形公式进行近似计算:1. 将区间[a, b]等分成n个小区间,记每个小区间的长度为h,即h=(b-a)/n。

2. 根据梯形面积的计算公式,我们可以得到每个小区间上梯形的面积为(h/2)*(f(x[i])+f(x[i+1])),其中x[i]和x[i+1]分别为第i个小区间的两个端点。

3. 将所有小区间上梯形的面积相加得到整个积分的近似值,即I ≈(h/2)*(f(a)+2*f(x[1])+2*f(x[2])+...+2*f(x[n-1])+f(b))。

梯形公式的优点在于其较为简单易懂,且可以很容易地通过计算机进行程序实现。

但是需要注意的是,当被积函数在积分区间上变化较大时,梯形公式可能会产生较大的误差。

与梯形公式类似,辛普森公式也是一种数值积分的方法,它是一种二次插值法,其原理是将积分区间等分成n个小区间,然后利用每个小区间的三个节点处的函数值进行二次插值,将每个小区间的面积近似为一个二次多项式曲线下的面积,再将所有小区间的面积相加就得到了整个积分的近似值。

具体地,对于被积函数f(x)在区间[a, b]上的积分,我们可以利用辛普森公式进行近似计算:1. 将区间[a, b]等分成n个小区间,记每个小区间的长度为h,即h=(b-a)/n。

复合梯形公式与复合辛普森公式对比

复合梯形公式与复合辛普森公式对比

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

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

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

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

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

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

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

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

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

2.问题提出对于函数 给出的函数表如下,试用复合梯形公式和复合辛普森公式计算积分 。

表 2-1函数计算结果表3. 算法推导3.1复合梯形公式根据梯形公式,将区间 划分为n 等份,分点 ,, ,在每个子区间上采用梯形公式,则得:记则 为复合梯形公式。

另外,复合梯形公式的余项可表示为2()()12n b a R f h f η-''=-3.2 复合辛普森公式根据辛普森公式将区间 划分为n 等份,在每个子区间 上采用辛普森公式。

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

相关文档
最新文档