复合梯形公式

合集下载

复化梯形积分的自适应算法

复化梯形积分的自适应算法

复化梯形积分的自适应算法复合梯形积分是一种数值积分方法,用于计算积分形式为∫a^b f(x)dx的近似值。

它是复合模拟辛普森法的一种变体,它使用了梯形规则来估计函数的积分。

自适应算法是指积分算法自动地调整区间的长度和位置,以满足某些精度要求。

这使得自适应算法能够更有效地计算复杂函数的积分。

下面是一个简单的复合梯形积分自适应算法的步骤:1. 设置初始区间[a, b]和精度要求eps。

2. 计算区间[a, b]上的积分值I,使用复合梯形法。

3. 将区间[a, b]划分为两个子区间[a, c]和[c, b],其中c=(a+b)/2。

4. 计算子区间[a, c]和[c, b]上的积分值I1和I2,使用复合梯形法。

5. 计算I的近似误差E=|I-(I1+I2)|。

6. 如果E>eps,则递归调用算法,计算子区间[a, c]和[c, b]的积分值。

否则,返回I作为积分的近似值。

这个算法可以递归地将区间划分为更小的子区间,直到达到精度要求为止。

它的时间复杂度是O(n),其中的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 为复合梯形公式。

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

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

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

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

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

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

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

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

matlab利用复合梯形公式计算积分

matlab利用复合梯形公式计算积分

matlab利用复合梯形公式计算积分复合梯形公式是一种常用的数值积分方法,用于近似计算定积分。

在本文中,我们将使用MATLAB编程语言来实现复合梯形公式,并计算给定函数的积分。

首先,我们需要了解复合梯形公式的原理。

复合梯形公式是通过将积分区间划分为多个小区间,并在每个小区间上使用梯形面积来近似计算定积分。

具体而言,对于一个函数f(x),我们将积分区间[a, b]划分为n个小区间,每个小区间的宽度为h=(b-a)/n。

然后,我们可以使用以下公式来计算定积分的近似值:∫[a, b] f(x) dx ≈ h/2 * (f(a) + 2*f(x1) +2*f(x2) + ... + 2*f(xn-1) + f(b))其中,x1, x2, ..., xn-1是每个小区间的中点。

接下来,我们将使用MATLAB编程语言来实现复合梯形公式。

首先,我们需要定义要计算积分的函数f(x),以及积分区间[a, b]和划分的小区间数n。

```matlab\nfunction result =composite_trapezoidal(f, a, b, n)\n h = (b - a)/ n;\n x = a:h:b;\n result = h/2 * (f(a) +2*sum(f(x(2:end-1))) + f(b));\nend\n```在上述代码中,我们首先计算小区间的宽度h,并生成一个包含所有小区间的向量x。

然后,我们使用MATLAB的sum函数来计算除首尾之外的所有小区间上函数值的和,并将其乘以h/2得到积分的近似值。

接下来,我们可以定义要计算积分的函数f(x)。

例如,我们可以计算函数f(x) = x^2在积分区间[0, 1]上的积分。

```matlab\nfunction y = f(x)\n y =x.^2;\nend\n```最后,我们可以调用composite_trapezoidal函数来计算定积分的近似值。

复合梯形公式求积分例题

复合梯形公式求积分例题

复合梯形公式求积分例题复合梯形公式用于近似计算定积分。

它可以通过将定积分区间划分为若干个小区间,然后在每个小区间上应用梯形法则进行计算,最终将这些小区间上的近似值相加得到最终的近似积分值。

以下是一个应用复合梯形公式求积分的例题:假设要求解定积分∫[0, 1] x^2 dx。

首先,选择将定积分区间[0, 1]等分为n个小区间。

假设n=4,则每个小区间长度为h=1/4=0.25。

接下来,在每个小区间上应用梯形法则进行计算。

对于每个小区间,我们选择左端点和右端点来构造近似的梯形,然后计算梯形的面积。

在第一个小区间[0, 0.25]上,左端点为x0=0,右端点为x1=0.25。

根据梯形面积公式,梯形的面积为(0.25-0) * [(0^2 + 0.25^2)/2] = 0.03125。

在第二个小区间[0.25, 0.5]上,左端点为x1=0.25,右端点为x2=0.5。

梯形的面积为(0.5-0.25) * [(0.25^2 + 0.5^2)/2] = 0.0625。

在第三个小区间[0.5, 0.75]上,左端点为x2=0.5,右端点为x3=0.75。

梯形的面积为(0.75-0.5) * [(0.5^2 + 0.75^2)/2] =0.140625。

在最后一个小区间[0.75, 1]上,左端点为x3=0.75,右端点为x4=1。

梯形的面积为(1-0.75) * [(0.75^2 + 1^2)/2] = 0.328125。

最后,将这些小区间上的梯形面积相加得到整个定积分的近似值:0.03125 + 0.0625 + 0.140625 + 0.328125 = 0.5625。

因此,定积分∫[0, 1] x^2 dx的近似值为0.5625。

需要注意的是,选择分割区间的数量n越大,近似值越接近实际积分值。

在实际应用中,我们通常会选择足够大的n来得到较为精确的近似值。

复合梯形公式和复合Simpson公式用法的比较

复合梯形公式和复合Simpson公式用法的比较

复合梯形公式和复合Simpson 公式用法的比较一、问题叙述由曲线y ()f x = ,a x b ≤≤绕x 轴旋转得到立体,其表面积计算公式为2(baS f x π=⎰分别用N=10的复合梯形公式和N=5的复合Simpson 公式求解下列每个的曲线绕x 轴旋转得到立方体的表面积。

(1)3(),01f x x x =≤≤ (2)()sin ,0/4f x x x π=≤≤ ; (3)()e ,01x f x x -=≤≤。

二、问题分析由叙述可知,三个函数在各自的定义域上函数值都大于0,且函数在各自的定义域上都是单调的。

(1)复合梯形公式取正整数n,令(b a)/n h =-,则点(k 0,1,,n)k x a kh =+=将[a,b]分为n 个小区间,利用定积分的性质可得11110011(x)(x)(x )f(x )2 =(a)f(b)2(x )2j jn n bx j j ax j j n j j h f dx f dx f h f f +--+==-=⎡⎤=≈+⎣⎦⎡⎤++⎢⎥⎣⎦∑∑⎰⎰∑所以,复合梯形公式的近似面积为:11(a)f(b)2(x )2n j j h S f f -=⎡⎤=++⎢⎥⎣⎦∑(2)复合Simpson 公式取正整数n,令h=(b-a)/2n,(j 0,1,,2n)j x a jh =+=.利用定积分的性质,以及Simpson 公式[]012(x)(x )4f(x )f(x )(f)3bahf dx f R =+++⎰在小区间222,j j x x -⎡⎤⎣⎦上的应用,有 2222221211(x)(x)(x )4f(x )f(x )3j nnbj j j j ax j j hf dx f dx f ---==⎡⎤=≈++⎣⎦∑∑⎰⎰整理可得,复合Simpson 公式的近似面积为:121211[f(a)f(b)4(x )2(x )]3n n j j j j hS f f --===+++∑∑。

复化梯形公式和复化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。

复化梯形算法求解数值积分

复化梯形算法求解数值积分

复化梯形算法求解数值积分梯形公式是一个基本的数值积分方法,它假设被积函数在每个小区间上是线性的。

具体来说,对于一个积分区间[a,b],将其等分成n个小区间,每个小区间的宽度为h=(b-a)/n。

则积分的近似计算可以表示为:∫[a, b]f(x)dx ≈ h/2 * [f(a) + 2f(x1) + 2f(x2) + ... +2f(xn-1) + f(b)]其中,xi是每个小区间的边界点,即xi = a + i*h。

1.将积分区间[a,b]等分成n个小区间,计算小区间宽度h=(b-a)/n。

2.初始化积分值I为0。

3.通过梯形公式计算每个小区间的积分值,并将其累加到I中。

具体步骤如下:- 计算小区间边界点xi = a + i*h,i从1到n-1- 计算每个小区间的函数值f(xi)。

-将小区间首尾函数值f(a)和f(b)分别乘以h的一半(即h/2)加到I中。

- 将中间小区间的函数值f(xi)乘以h加到I中。

4.返回积分值I作为近似结果。

需要注意的是,复化梯形算法对于一些函数可能不太适用。

在积分区间内存在较大的函数值变化或函数不连续的情况下,该算法的精度可能会下降。

此时,可以考虑使用其他更复杂的数值积分方法,如复化 Simpson 算法或高斯-勒让德公式。

综上所述,复化梯形算法是一种简单有效的数值积分方法。

通过将积分区间分成多个小区间,并使用梯形公式进行近似计算,可以得到较高精度的积分结果。

然而,该方法的速度较慢,并在一些情况下可能不太适用。

因此,在实际应用中,需要根据具体问题的特点选择合适的数值积分方法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《复合梯形公式》实验报告
实验名称:复合梯形公式 成绩:___________
专业班级:数学与应用数学1202班 姓名:张晓彤 学号:2012254010227 实验日期 : 2014年11月23日
实验报告日期: 2014年11月3日
一、实验目的
(1)掌握数值积分函数的调用格式
(2)掌握复合梯形公式的思想和构造过程
(3)能够应用matlab 软件编写复合梯形公式的程序并能熟悉应用,以此来解决
相关例题
(4)利用复合梯形公式求数值积分的近似值,以解决其它科学实验的计算问题
二、实验内容
2.1验证积分函数的调用格式并求函数积分值
例1:用两种不同的方法求:dx e I x ⎰-=
102. 例2:计算二重积分dxdy y x e I x )sin(2112222+=⎰⎰---
2.2编写复合梯形公式程序并验证
例:用符合梯形求积公式求积分2
10sin x I e xdx =⎰的近似值.要求将区间3等分,4的等分,6等分,9等分,分别得到积分值,并与真值进行比较.能得到什么结论?
三、实验环境
该实验应用matlab2014来进行实验的验证和设计.
四、实验步骤和实验结果
4.1验证积分函数的调用格式并求函数积分值
例3:(数值积分)用两种不同的方法求:dx e I x ⎰-=
102
. 法一:建立被积函数文件法:
先建立一个函数文件ex.m:
function ex=ex(x)
ex=exp(-x.^2);
end 然后在MATLAB 命令窗口,输入命令:
format long
I=quad('ex',0,1)
I =
0.746824180726425
I=quadl('ex',0,1)
I =
0.746824133988447
法二:不建立关于被积函数的函数文件时:
g=inline('exp(-x.^2)');
I=quadl(g,0,1)
I =
0.746824133988447
例4:(数值积分)计算二重积分dxdy y x e I x )sin(2112222+=
⎰⎰---
(1)建立一个m 文件fxy.m
function f=fxy(x,y)
global ki;
ki=ki+1;
f=exp(-x.^2/2).*sin(x.^2+y);
(2)调用dblquad 函数求解
global ki;ki=0;
I=dblquad('fxy',-2,2,-1,1)
Ki
I =
1.574493189744944
ki =
1050
使用inline 函数不建立被积函数的函数文件,程序如下:
f=inline('exp(-x.^2/2).*sin(x.^2+y)','x','y');
I=dblquad(f,-2,2,-1,1)
I =
1.574493189744944
4.2编写复合梯形公式程序并验证
例:用符合梯形求积公式求积分2
10sin x I e xdx =⎰的近似值.要求将区间3等分,4的等分,6等分,9等分,分别得到积分值,并与真值进行比较.能得到什么结论?
建立复合梯形公式的fhTX.m 文件:
function [H] = fhTX(a,b,n)
%ab 分别是积分函数的上下限%
%n 为区间等分份数%
%I 返回的是得到的积分近似值%
h=(b-a)/n; %h 为步长%
I=0;
x=a:h:b; %等分点出的节点Xi%
f=exp(x.^2).*sin(x); %被积函数表达式%
for k=1:n; %节点xi 开始循环%
J=f(k)+f(k+1); %复合梯形公式的递推公式%
I=I+J; %递推公式求和%
end
H=I*h/2;
End
(1) 将区间3等分得到结果
H=fhTX(0,1,3) %函数调用%
H =
0.8246 %得到近似解%
I1=quad('exp(x.^2).*sin(x)',0,1) %quad计算真值%
I1 =
0.7787
R=abs(I1-H) %近似解和真值之间的误差%
ans =
0.0458
所以,将区间3等分后得到的结果为0.8246,和真值之间存在的误差为0.0458. (2)将区间4等分得到的结果
H=fhTX(0,1,4) %函数调用%
H =
0.8047 %得到近似解%
abs(I1-H)
ans =
0.0260 %近似解和真值之间的误差%
通过结果可以看出,将区间4等分后的结果和真值之间的误差缩小为0.0260,较三等分得到的结果略微良好.
(3)将区间6等分得到的结果
H=fhTX(0,1,6) %函数调用%
H =
0.7904 %得到近似解%
abs(I1-H)
ans =
0.0116 %近似解和真值之间的误差%
当区间等分数为6时,误差减小到0.0116,比区间等分数为4的时候更精确
(4)将区间9等分得到的结果
H=fhTX(0,1,9) %函数调用%
H =
0.7839 %得到近似解%
abs(I1-H)
ans =
0.0052 %近似解和真值之间的误差%
这时的误差缩小为0.0052,更加靠近真值了.
通过四种不同的等分区间来对积分值进行近似估计,我们可以发现,区间等分份数越多,得到的结果越靠近真值,得到的结果越精确
我们用相同的方法得到更多数据的结果入下:
从表格中我们很清楚的可以看到在某个较大的范围内,当n越大时,得到的结果和真值越接近,当达到一定程度时,近似值将不会再变化.
五、实验讨论、结论
通过四种不同的等分区间来对积分值进行近似估计,我们可以发现,区间等分份数越多,得到的结果越靠近真值,得到的结果越精确,但符合梯形公式在对积分值进行估计的过程中存在的问题是:在某个较大的范围内,无论区间等分多少份,或者说无论步长取得多么小,总会存在一个更小的步长h,使得结果过更加精确,但当超过这个规定的范围,当区间等分份数过大时,得到的近似值将不会再变价.所以说,采用梯形公式得到的结果,随着区间等分份数的增多,会越来越接近真值,但永远不能得到最精确的结果.
所以,在对某些函数进行积分计算的时候,一些简单的函数我们可以直接进行积分到精确的结果,但是对于一些较复杂,找不到原函数的函数而言,利用复
合梯形公式可以很好的得到近似解,它在进行函数积分的过程中起到了很好作用,能解决我们在积分环节的一些问题.
六、参考资料
【1】李庆阳,王能超,易大义,数值分析第五版,清华大学出版社,1995. 【2】刘卫国,matlab程序设计与应用,高等教育出版社,2002.。

相关文档
最新文档