文档库 最新最全的文档下载
当前位置:文档库 › C语言-用矩形法和梯形法求定积分

C语言-用矩形法和梯形法求定积分

C语言-用矩形法和梯形法求定积分
C语言-用矩形法和梯形法求定积分

一.写一个用矩形法求定积分的函数,求sin(x)在(0,1)上的定积分。

#include

#include

float jifen(float a,float b)

{int i,l;

float n=0.001,s=0; //n表示划分的单位宽度,n越小结果越精确,n是矩形的宽

l=(b-a)/n; // l表示有多少个单位宽度

for(i=0;i

s=n*sin(a+n*i)+s; // sin(a+n*i)是矩形的长

printf("用矩形法求得该函数在(%2.0f,%2.0f)上的积分为%f。\n",a,b,s);

}

main()

{

jifen(0,1);

}

二.写一个用梯形法求定积分的函数,求sin(x)在(0,1)上的定积分。

#include

#include

float jifen(float a,float b)

{int i,l;

float n=0.001,s=0;

l=(b-a)/n;

for(i=0;i

s=(sin(a+n*i)+sin(a+n*(i+1)))*n/2+s; // (sin(a+n*i)是梯形的上底,sin(a+n*(i+1))是下底printf("用梯形法求得该函数在(%2.0f,%2.0f)上的积分为%f。\n",a,b,s);

}

main()

{

jifen(0,1);

}

三.(综合)写一个用矩形法和梯形法求定积分的通用函数,分别求sin(x)在(0,1)上、cos(x)在(-1,1)上、exp在(0,2)上的定积分。

说明:jifen的函数定义中,double (*fun)(double)表示fun是指向函数的指针,被指的函数是一个实型函数,有一个实型形参,Fun是指向函数的指针变量。用jifen(0,1,sin)语句调用jifen 函数时,给jifen函数传递了sin函数的入口地址,这时jifen函数中的fun函数就相当于是sin函数了,(*fun)(a+n*i)相当于sin(a+n*i)。这样jifen函数就是一个通用求定积分的函数了。#include

#include

jifen(float a,float b,double (*fun)(double))

{int i,l;

float n=0.001,s=0,s1=0;

l=(b-a)/n;

for(i=0;i

{s=n*(*fun)(a+n*i)+s;

s1=((*fun)(a+n*i)+(*fun)(a+n*(i+1)))*n/2+s1;

}

printf("用矩形法求得该函数在(%2.0f,% 2.0f)上的积分为%f。\n",a,b,s); printf("用梯形法求得该函数在(%2.0f,% 2.0f)上的积分为%f。\n\n",a,b,s1); }

main()

{printf("1.sin函数:\n");

jifen(0,1,sin);

printf("2.cos函数:\n");

jifen(-1,1,cos);

printf("3.exp函数:\n");

jifen(0,2,exp);

}

几种定积分的数值计算方法

几种定积分的数值计算方法 摘要:本文归纳了定积分近似计算中的几种常用方法,并着重分析了各种数值方法的计 算思想,结合实例,对其优劣性作了简要说明. 关键词:数值方法;矩形法;梯形法;抛物线法;类矩形;类梯形 Several Numerical Methods for Solving Definite Integrals Abstract:Several common methods for solving definite integrals are summarized in this paper. Meantime, the idea for each method is emphatically analyzed. Afterwards, a numerical example is illustrated to show that the advantages and disadvantages of these methods. Keywords:Numerical methods, Rectangle method, Trapezoidal method, Parabolic method, Class rectangle, Class trapezoid

1. 引言 在科学研究和实际生产中,经常遇到求积分的计算问题,由积分学知识可知,若函数 )(x f 在区间],[b a 连续且原函数为)(x F ,则可用牛顿-莱布尼茨公式 ?-=b a a F b F x f ) ()()( 求得积分.这个公式不论在理论上还是在解决实际问题中都起到了很大的作用. 在科学研究和实际生产中,经常遇到求积分的计算问题,由积分学知识可知,若函数)(x f 在区间],[b a 连续且原函数为)(x F ,则可用牛顿-莱布尼茨公式 ?-=b a a F b F x f ) ()()( 求得积分.这个公式不论在理论上还是在解决实际问题中都起到了很大的作用.另外,对于求导数也有一系列的求导公式和求导法则.但是,在实际问题中遇到求积分的计算,经常会有这样的情况: (1)函数)(x f 的原函数无法用初等函数给出.例如积分 dx e x ?-1 02 , ? 1 sin dx x x 等,从而无法用牛顿-莱布尼茨公式计算出积分。 (2)函数)(x f 使用表格形式或图形给出,因而无法直接用积分公式或导数公式。 (3)函数)(x f 的原函数或导数值虽然能够求出,但形式过于复杂,不便使用. 由此可见,利用原函数求积分或利用求导法则求导数有它的局限性,所以就有了求解数值积分的很多方法,目前有牛顿—柯特斯公式法,矩形法,梯形法,抛物线法,随机投点法,平均值法,高斯型求积法,龙贝格积分法,李查逊外推算法等等,本文对其中部分方法作一个比较. 2.几何意义上的数值算法 s 在几何上表示以],[b a 为底,以曲线)(x f y =为曲边的曲边梯形的面积A ,因此,计 算s 的近似值也就是A 的近似值,如图1所示.沿着积分区间],[b a ,可以把大的曲边梯形分割成许多小的曲边梯形面积之和.常采用均匀分割,假设],[b a 上等分n 的小区间 ,x 1-i h x i +=b x a x n ==,0,其中n a b h -= 表示小区间的长度. 2.1矩形法

定积分的性质与计算方法

定积分的性质与计算方法 摘要: 定积分是微积分学中的一个重要组成部分,其计算方法和技巧非常 丰富。本文主要给出定积分的定义及讨论定积分的性质和计算方法,并通过一些很有代表性的例题说明了其计算方法在简化定积分计算中的强大功能。 关键词:定积分 性质 计算方法 定积分的定义 设函数f(x) 在区间[a,b]上连续,将区间[a,b]分成n 个子区间[x 0,x 1], (x 1,x 2], (x 2,x 3], …, (x n-1,x n ],其中x 0=a ,x n =b 。可知各区间的长度依次是:△x 1=x 1-x 0, △x 2=x 2-x 1, …, △x n =x n -x n-1。在每个子区间(x i-1,x i ]中任取一点i ξ(1,2,...,n ),作和式1()n i i f x ι=ξ?∑。设λ=max{△x 1, △x 2, …, △x n }(即λ是 最大的区间长度),则当λ→0时,该和式无限接近于某个常数,这个常数叫做函数f(x) 在区间[a,b]的定积分,记为: ()b a f x dx ?。 其中:a 叫做积分下限,b 叫做积分上限,区间[a, b]叫做积分区间,函数f(x)叫做被积函数,x 叫做积分变量,f(x)dx 叫做被积表达式,∫ 叫做积分号。 对于定积分,有这样一个重要问题:函数()f x 在[a,b]上满足怎样的条件, ()f x 在[a,b]上一定可积?下面给出两个充分条件: 定理1: 设()f x 在区间[a,b]上连续,则()f x 在[a,b]上可积。 定理2: 设()f x 在区间[a,b]上有界,且只有有限个间断点,则 ()f x 在[a,b]上可积。 例:利用定义计算定积分1 20x dx ?. 解:因为被积函数2()f x x =在积分区间[0,1]上连续,而连续函数是可积的,所以积分与区间[0,1]的分法及点i ξ的取法无关。因此,为了 便于计算,不妨把区间[0,1]分成n 等份,分点为i i x n = ,1,2,,1i n =?-;这样,

采用矩形法求定积分

问题 采用矩形法求定积分?π 0sin x y = ▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂ double a; /*积分区间下限*/ double b; /*积分区间上限*/ 问题的输出: double fx; /*积分结果*/ 设计 初始算法 初始化积分区间(a ,b )。 如果把积分区间划分为100个格,则h=fabs(a-b)/100; 因为区间划分为100个格,因此循环过程如下: for(i=0;i<100;i++) { fx=f (x+i*h+h/2); … … } ▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂ 分析 利用矩形法可以求定积分其原理如图(9-1)所示。求函数f在(a,b )区间的定积分 公式为: )2/)1(()2/2()2/()2/(() 2/)1(()2/()2/(h h n a f h h a f h h a f h a f h h h n a f h h h a f h h a f s +-++++++++++?=+-+++?+++?+= 图9-1 矩形法求定积分 所需数据与算法如下。 数据要求 问题的输入: double a; /*积分区间下限*/ double b; /*积分区间上限*/

问题的输出: double fx; /*积分结果*/ 设计初始算法 1.初始化积分区间(a,b)。 2.如果把积分区间划分为100个格,则h=fabs(a-b)/100; 3.因为区间划分为100个格,因此循环过程如下: for(i=0;i<100;i++) { fx=f (x+i*h+h/2); …… } 流程图 实现程序代码如下:

设计采用梯形法和辛普生法求定积分的程序

河北工业大学计算机软件技术基础(VC)课程设计报告 学院信息工程学院院班级通信101 姓名崔羽飞学号 102117 成绩 __ ____ 一、题目: 设计采用梯形法和辛普生法求定积分的程序 二、设计思路 1、总体设计 1)分析程序的功能 本题目的功能是对梯形法和辛普森法,在不同区间数下计算所得的定积分的值,进行精度比较。 2)系统总体结构: 设计程序的组成模块,简述各模块功能。 该程序共分为以下几个模块 模块一:各函数原型的声明。 模块二:主函数。 模块三:各函数的定义。 包括两个数学函数y1=1+x*x、y2=1+x+x*x+x*x*x的定义和两个函数指针double integralt(double ,double ,int ,double(*f)(double)) double integrals(double ,double ,int ,double(*f)(double)) 的定义。 2、各功能模块的设计:说明各功能模块的实现方法 模块一:对各种函数进行声明。 模块二:求梯形法和辛普森法,在不同区间数下计算所得的定积分的值。 模块三:将各函数写出来。 3、设计中的主要困难及解决方案 在这部分论述设计中遇到的主要困难及解决方案。 1)困难1:函数指针的应用。解决方案:仔细阅读课本,以及与同学之间的讨论,和向老师求助。 2)困难2:将程序分成不同的.cpp文件。解决方案:与同学讨论。 4、你所设计的程序最终完成的功能 1)说明你编制的程序能完成的功能 在数学上求一个函数与x轴在一定范围内所围的面积即求定积分,对梯形法和辛普森法求定积分的比较。 2)准备的测试数据及运行结果

第一题.矩阵法,梯形法积分

梯形法数值积分 A .算法说明: 梯形法数值积分采用的梯形公式是最简单的数值积分公式,函数()f x 在区间[a,b]上计算梯形法数值积分表达式为: ()[()()]2b a b a f x dx f a f b -≈+? 由于用梯形公式来求积分十分粗糙,误差也比较大,后来改进后提出了复合梯形公式:b a h n -=,其中,n 为积分区间划分的个数;h 为积分步长。 在MATLAB 中编程实现的复合梯形公式的函数为:Combine Traprl. 功能:复合梯形公式求函数的数值积分。 调用格式:[I,step]=CombineTraprl(f,a,b,eps). 其中,f 为函数名; a 为积分下限; b 为积分上限; eps 为积分精度; I 为积分值; Step 为积分划分的区间个数 B .流程图

C.复合梯形公式的原程序代码: function[I,step]=CombineTraprl(f,a,b,eps) % 复合梯形公式求函数f在区间[a,b]上的定积分 %函数名:f %积分下限:a %积分上限:b %积分精度:eps %积分值:I %积分划分的子区间个数:step if(nargin==3) eps=1.0e-4; %默认精度为0.0001 end n=1; h=(b-a)/2; I1=0; I2=(subs(sym(f),findsym(sym(f)),a)+subs(sym(f),findsym(sym(f)),b))/h; while abs(I2-I1)>eps n=n+1 h=(b-a)/n; I1=I2; I2=0; for i=0:n-1 %第年n次的复合梯形公式积分 x=a+h*i; %i=0 和n-1时,分别代表积分区间的左右端点 x1=x+h I2=I2+(h/2)*(subs(sym(f),findsym(sym(f)),x)+subs(sym(f),findsym(sym(f)),x1)); end end I=I2; step=n; D.应用举例 复合梯形法求数值积分应用举例,利用复合梯形法计算定积分 dx x ? - 4 221 1 流程图

定积分计算公式和性质

第二节 定积分计算公式和性质 一、变上限函数 设函数在区间上连续,并且设x 为上的任一点, 于是, 在区间 上的定积分为 这里x 既是积分上限,又是积分变量,由于定积分与积分变量无关,故可将此改为 如果上限x 在区 间上任意变动,则对 于每一个取定的x 值,定积分有一个确定值与之对应,所以定积分在 上定义了一个以x 为自变量的函数,我们把 称为函数 在区间 上 变上限函数 记为 从几何上看,也很显然。因为X 是上一个动点, 从而以线段 为底的曲边梯形的面积,必然随着底数 端点的变化而变化,所以阴影部分的面积是端点x 的函数(见图5-10) 图 5-10

定积分计算公式 利用定义计算定积分的值是十分麻烦的,有时甚至无法计算。因此,必须寻求计算定积分的简便方法。 我们知道:如果物体以速度作直线运动,那么在时间区间上所经过的路程s 为 另一方面,如果物体经过的路程s 是时间t 的函数,那么物体 从t=a 到t=b 所经过的路程应该是(见图5-11) 即 由导数的物理意义可知:即 是 一个原函数,因此,为了求出定积分,应先求出被积函数 的原函数 , 再求 在区间 上的增量 即可。 如果抛开上面物理意义,便可得出计算定积分的一般 方法: 设函数在闭区间上连续, 是 的一个原函数, 即 ,则 图 5-11

这个公式叫做牛顿-莱布尼兹公式。 为了使用方便,将公式写成 牛顿-莱布尼兹公式通常也叫做微积分基本公式。它表示一个函数定积分等于这个函数的原函数在积分上、下限处函数值之差。它揭示了定积分和不定积分的内在联系,提供了计算定积分有效而简便的方法,从而使定积分得到了广泛的应用。 例1 计算 因为是的一个原函数所以 例 2 求曲线 和直线x=0、x= 及y=0所围成图形面积A(5-12) 解 这个图形的面积为 二、定积分的性质 设 、 在相应区间上连续,利用前面学过的知识,可以 得到定积分以下几个简单性质: 图 5-12

矩形、梯形法计算定积分的黎曼和

钦州学院数学与计算机科学学院 数 学 实 验 报 告 实验完成日期 2010 年 11 月 5 日 , 第 10 周 , 星期五 成绩等级(五级分制) 评阅教师 评阅日期 年 月 日 数学实验报告填写要求:思路清晰,中间结果和最终结果真实;字迹工整,报告完整。 [实验题目及内容] 实验题目:(1)通过矩形法、梯形法分别计算定积分? ++-= b a x x x f 32.0)(2 的黎曼和; (2)通过10=n ,50=n ,200=n 时黎曼和的值分析两种方法逼近定积分的 速度。 内容:黎曼和逼近定积分值的动态过程演示,可利用几何画板制作 [问题描述](用自己组织的相关数学语言重述现实问题;注意对约定的条件作说明) 将AB 边n 等分,过这些分点作E B '的垂线,将抛物线32.0)(2 ++-=x x x f 和以AB 为边形成的图形分割为n 个直角小梯形或小矩形,求这些小梯形或小矩形面积的和,即可求出定积分? ++-= b a x x x f 32.0)(2 黎曼和即面积。当n 充分大时,直角小梯形或小矩形的 面积之和可近似代替定积分? ++-=b a x x x f 32.0)(2 黎曼和。因此可通过计算梯形或矩形 面积求出定积分? ++-= b a x x x f 32.0)(2 的黎曼和。 定积分dx x f b a ?)(在数值上等于以曲线)(x f y =和三直线0=y 、a x =、b x =所围 成的曲边梯形的面积。解决的办法是分割后再求和:设想将区间],[b a 分为n 个小区间,以每个小区间左端点对应的函数值为高,以小区间的长度为宽,构作n 个梯形或矩形,并以这些小梯形或小矩形的面积的和(即黎曼和)近似代替定积分的面积。当改变参数n 的大小时,随着n 的逐渐增大(并且每个小区间的长度逐渐缩小),黎曼和的值逐渐趋近定积分的值。 [模型建立或思路分析](建立合理,可解释的数学模型,通过公式、表格或图形直观明确地描述模型的结构;无法通过建立模型解决的,给出解题的思路及办法。) 利用几何画板作图:

C语言-用矩形法和梯形法求定积分

一.写一个用矩形法求定积分的函数,求sin(x)在(0,1)上的定积分。 #include #include float jifen(float a,float b) {int i,l; float n=0.001,s=0; //n表示划分的单位宽度,n越小结果越精确,n是矩形的宽 l=(b-a)/n; // l表示有多少个单位宽度 for(i=0;i #include float jifen(float a,float b) {int i,l; float n=0.001,s=0; l=(b-a)/n; for(i=0;i #include jifen(float a,float b,double (*fun)(double)) {int i,l;

定积分计算的总结论文

定积分计算的总结 闫佳丽 摘 要:本文主要考虑定积分的计算,对一些常用的方法和技巧进行了归纳和总结.在定积分的计算中,常用的计算方法有四种:(1)定义法、(2)牛顿—莱布尼茨公式、(3)定积分的分部积分法、(4)定积分的换元积分法. 关键词:定义、牛顿—莱布尼茨公式、分部积分、换元. 1前言 17世纪后期,出现了一个崭新的数学分支—数学分析.它在数学领域中占据着主导地位.这种新数学思想的特点是非常成功地运用了无限过程的运算即极限运算.而其中的微分和积分这两个过程,则构成系统微积分的核心.并奠定了全部分析学的基础.而定积分是微积分学中的一个重要组成部分. 2正文 那么,究竟什么是定积分呢?我们给定积分下一个定义:设函数()f x 在[],a b 有定义,任给[],a b 一个分法T 和一组{}k ξξ=,有积分和 1 (,)()n k k k T f x σξξ==?∑,若当()0l T →时,积分和(,)T σξ存在有限极限,设 ()0 ()0 1 lim (,)lim ()n k k l T l T k T f x I σξξ→→==?=∑,且数I 与分法T 无关,也与k ξ在[] 1,k k x x -的取法无关,即{}0,0,:(),k T l T εδδξξ?>?>?

最新定积分的换元积分法与分部积分法

定积分的换元积分法与分部积分法

定积分的换元积分法与分部积分法 教学目的:掌握定积分换元积分法与分部积分法 难点:定积分换元条件的掌握 重点:换元积分法与分部积分法 由牛顿-莱布尼茨公式可知,定积分的计算归结为求被积函数的原函数.在上一章中,我们已知道许多函数的原函数需要用换元法或分部积分法求得,因此,换元积分法与分部积分法对于定积分的计算也是非常重要的.1.定积分换元法 定理假设 (1) 函数?Skip Record If...?在区间?Skip Record If...?上连续; (2) 函数?Skip Record If...?在区间?Skip Record If...?上有连续且不变号的导数; (3) 当?Skip Record If...?在?Skip Record If...?变化时,?Skip Record If...?的值在?Skip Record If...?上变化,且?Skip Record If...?, 则有 ?Skip Record If...?.(1) 本定理证明从略.在应用时必须注意变换?Skip Record If...?应满足定理的条件,在改变积分变量的同时相应改变积分限,然后对新变量积分.例1计算?Skip Record If...?. 仅供学习与交流,如有侵权请联系网站删除谢谢4

仅供学习与交流,如有侵权请联系网站删除 谢谢4 解 令?Skip Record If...?,则?Skip Record If...?.当?Skip Record If...?时,?Skip Record If...?;当?Skip Record If...?时,?Skip Record If...?.于是 ?Skip Record If...? ?Skip Record If...?. 例2 计算?Skip Record If...??Skip Record If...?. 解 令?Skip Record If...?,则?Skip Record If...?.当?Skip Record If...?时,?Skip Record If...?;当?Skip Record If...?时,? ?Skip Record If...??Skip Record If...? ?Skip Record If...? ?Skip Record If...? ?Skip Record If...?. 显然,这个定积分的值就是圆?(图5-8). 例3 计算?Skip Record If...?. 解法一 令?Skip Record If...?,则?Skip Record If...?. 当?Skip Record If...?时,?Skip Record If...?;当?Skip Record If...?时,?Skip Record If...?,于是 ?Skip Record If...?. 解法二 也可以不明显地写出新变量?Skip Record If...?,这样定积分的上、下限也不要改变. 即 ?Skip Record If...? ?Skip Record If...?.

矩形法求函数的定积分

用矩形法求函数的定积分(C 语言实现) 在本程序中,先分别定义了5个C 函数f1、f2、f3、f4、f5,用来代表5个不同的函数。然后定义了一个求定积分的函数integral 。现在介绍矩形法求函数定积分的数学思想。 设函数f (f )在区间[a,b]上连续,在(a,b)上可导,将[a,b]之间的长度等分成n 份(n 越大计算越精确)。于是第f 块小矩形的面积为f f , f i = f ?f f f (f +f ?f f f ) 所有小矩形的面积之和为 ∑f f f f =1 实际的定积分的值 ∫f (f )f f d f =lim f →∞∑f f f f =1 所以说n 值越大,计算越精确。 源代码如下: #include//矩形法求定积分的算法 #include #define N 1e6 double f1(double x) { double y; y=1.0+x; return y; }

double f2(double x) { double y; y=2.0*x+3; return y; } double f3(double x) { double y; y=exp(x)+1.0; return y; } double f4(double x) { double y; y=pow(1.0+x,2); return y; } double f5(double x) { double y; y=pow(x,3);

return y; } double integral(double a,double b,double (*fun)(double)) { int i; double d=(b-a)/N; double sum=0; for(i=1;i<=N;i++) { sum=sum+d*(*fun)(a+i*d);//定积分近似计算公式 }//fun是指向函数的指针,该指针所指向的函数带有一个double型的形参,//同时,该函数的返回值类型为double return sum; } void main() { double S[5]; int j; S[0]=integral(0,1,f1);//fun指向f1 S[1]=integral(0,1,f2);//fun指向f2 S[2]=integral(0,1,f3);//fun指向f3 S[3]=integral(0,1,f4);//fun指向f4

换元法在不定积分和定积分中的联系与区别

换元法在不定积分和定积分中的联系与区别 1.第一换元法在不定积分和定积分中的联系与区别 1.1不定积分中第一换元法的定理形式 定理1若,且的原函数容易求出,记 , 则 . 证明若,令,于是有 因而 得证。 1.2定积分中第一换元法的定理形式 定理2若连续,在上一阶连续可导,且,在构成的区间上连续,其中,则 . 证明令,由于在构成的区间上连续,记,则 得证。 1.3 第一换元法在不定积分和定积分中的联系与区别 区别:第一换元法在定积分中对未知量给出了定义范围,要求换元函数在该定义域内一阶连续可导即可,对积分要求变弱。

联系:不定积分的实质是求一个函数的原函数组成的集合,部分定积分的计算可以利用不定积分的第一换元法求出简单函数的任意一个原函数,再用原函数在定义域的上下限的函数值取差值。 例1求. 解因为 即有一个原函数,所以 例2 计算积分. 解由于 于是 2.第二换元法在不定积分和定积分中的联系与区别 2.1不定积分中第二换元法的定理形式 定理3设连续,及都连续,的反函数存在且连续,并且 ,(1)则 (2)

证明将(2)式右端求导同时注意到(1)式,得 , 这便证明了(2)式。 2.2定积分中第二换元法的定理形式 定理 4 设在连续,作代换,其中在构成的区间上有连续导数,且,则 证明设是的一个原函数,则是的一个原函数。于是 , 定理得证。 2.3 第二换元法在不定积分和定积分中的联系与区别 区别:由不定积分中第二换元法的证明过程可知,不定积分中第二换元法要求变换的反函数存在且连续,并且。而在定积分的第二换元法则不这样要求,它通过换元法写出关于新变量的被积函数与新变量的积分上下限后可以直接求职,不像不定积分的计算最终需要对变量进行还原。 例3用第二换元法求解 解令,则

采用矩形法求定积分

采用矩形法求定积分 问题 采用矩形法求定积分?π 0sin x y = 分析 利用矩形法可以求定积分其原理如图(9-1)所示。求函数f在(a,b )区间的定积分 公式为: )2/)1(()2/2()2/()2/(() 2/)1(()2/()2/(h h n a f h h a f h h a f h a f h h h n a f h h h a f h h a f s +-++++++++++?=+-+++?+++?+= 图9-1 矩形法求定积分 所需数据与算法如下。 数据要求 问题的输入: double a; /*积分区间下限*/ double b; /*积分区间上限*/ 问题的输出: double fx; /*积分结果*/ 设计 初始算法 1. 初始化积分区间(a ,b )。 2. 如果把积分区间划分为100个格,则h=fabs(a-b)/100; 3. 因为区间划分为100个格,因此循环过程如下: for(i=0;i<100;i++) { fx=f (x+i*h+h/2); … …

} 流程图 实现程序代码如下: #include "stdio.h" #include "math.h" double f (double x) { return sin(x); } double Jifen(double a,double b) { double h; double fx;

double x; int i; double sum=0; h=fabs(a-b)/100; x=a; for(i=0;i<100;i++) { fx=f (x+i*h+h/2); sum=sum+fx; } return sum*h; } void main() { double a; double b; double fx; a=0; b=3.1415926; fx=Jifen(a,b); printf("Ji Fen Y=%f" ,fx); } 运行结果Ji Fen Y=2.000082 测试如果将积分区间划分为1000个格,则循环条件改为i<1000,得到结果为2.00001。 该测试说明积分区间划分越多,越能够接近正确结果。

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

实验 目 的 或 要 求1、利用复化梯形公式、复化simpson 公式计算积分 2、比较计算误差与实际误差 实 验 原 理 ( 算 法 流 程 图 或 者 含 注 释 的 源 代 码 ) 取n=2,3,…,10分别利用复化梯形公式、复化simpson 公式计算积分1 20I x dx =?,并与真值进行比较,并画出计算误差与实际误差之间的曲线。 利用复化梯形公式的程序代码如下: function f=fx(x) f=x.^2; %首先建立被积函数,以便于计算真实值。 a=0; %积分下线 b=1; %积分上线 T=[]; %用来装不同n 值所计算出的结果 for n=2:10; h=(b-a)/n; %步长 x=zeros(1,n+1); %给节点定初值 for i=1:n+1 x(i)=a+(i-1)*h; %给节点赋值 end y=x.^2; %给相应节点处的函数值赋值 t=0; for i=1:n t=t+h/2*(y(i)+y(i+1)); %利用复化梯形公式求值 end T=[T,t]; %把不同n 值所计算出的结果装入 T 中 end R=ones(1,9)*(-(b-a)/12*h.^ 2*2); %积分余项(计算误差) true=quad(@fx,0,1); %积分的真实值 A=T-true; %计算的值与真实值之差(实际误差) x=linspace(0,1,9); plot(x,A,'r',x,R,'*') %将计算误差与实际误差用图像画出来 注:由于被积函数是x.^2,它的二阶倒数为2,所以积分余项为:(-(b-a)/12*h.^ 2*2)

实 验 原 理 ( 算 法 流 程 图 或 者 含 注 释 的 源 代 码)利用复化simpson 公式的程序代码如下: 同样首先建立被积函数的函数文件: function f=fx1(x) f=x.^4; a=0; %积分下线 b=1; %积分上线 T=[]; %用来装不同n值所计算出的结果 for n=2:10 h=(b-a)/(2*n); %步长 x=zeros(1,2*n+1); %给节点定初值 for i=1:2*n+1 x(i)=a+(i-1)*h; %给节点赋值 end y=x.^4; %给相应节点处的函数值赋值 t=0; for i=1:n t=t+h/3*(y(2*i-1)+4*y(2*i)+y(2*i+1)); %利用复化simpson公式求值end T=[T,t] ; %把不同n值所计算出的结果装入T中 end R=ones(1,9)*(-(b-a)/180*((b-a)/2).^4*24) ; %积分余项(计算误差) true=quad(@fx1,0,1); %积分的真实值 A=T-true; %计算的值与真实值之差(实际误差) x=linspace(0,1,9); plot(x,A,'r',x,R,'*')

不定积分的基本公式和运算法则直接积分法

?复习1 原函数的定义。2 不定积分的定义。3 不定积分的性质。4 不定积分的几何意义。 ?引入在不定积分的定义、性质以及基本公式的基础上,我们进一步来讨论不定积分的计算 问题,不定积分的计算方法主要有三种:直接积分法、换元积分法和分部积分法。 ?讲授新课 第二节不定积分的基本公式和运算直接积分法 一基本积分公式 由于求不定积分的运算是求导运算的逆运算,所以有导数的基本公式相应地可以得到积分的基本公式如下:

以函 数的的形式。 求函数的不定积分的方法叫积分法。 例1?求下列不定积分.(1) AdX ( 2) XdX _ 1 丄+ 彳 解:(1 ) . 2 dx = x'dx C=-1C X -2 1 X 3 2 5 (2 ).XXdX = χ2 dx = 2 X 2 C J 5 此例表明,对某些分式或根式函数求不定积分时,可先把它们化为 数的积分公式求积分。 不定积分的基本运算法则 X 〉的形式,然后应用幕函

法则1 两个函数代数和的积分,等于各函数积分的代数和,即 [f (X) — g (x)]dx = f (x)dx — g (x)dx 法则1对于有限多个函数的和也成立的. 法则2 被积函数中不为零的常数因子可提到积分号外,即 kf (x)dx = k f (x)dx ( k = O ) 3 X 例 2 求(2x 1 -e )dx 解 (2x 3 1-e" )d )=2 x 3dx + dx - e x dx 1 4 X =X X —e C 。 2 注 其中每一项的不定积分虽然都应当有一个积分常数, 但是这里并不需要在每一项后面加上 一个积分常数,因为任意常数之和还是任意常数,所以这里只把它的和 C 写在末尾,以后仿此。 注 检验解放的结果是否正确,只把结果求导,看它的导数是否等于被积函数就行了。如上例 由于(-X 4 ^e X C) = 2X 3 ^e X ,所以结果是正确的。 2 三直接积分法 在求积分的问题中,可以直接按基本积分公式和两个基本性质求出结果(如上例)但有时,被 积函数常需要经过适当的恒等变形(包括代数和三角的恒等变形)再利用积分的性质和公式求出结 果,这样的积分方法叫直接积分法。 例3 求下列不定积分 解: (1)首先把被积函数^x - I 1 化为和式,然后再逐项积分得 VX 1 √X (1)J (V Σ+1)( X -^^=)dx (2)J x 2 dx )dx

不定积分换元法例题

【不定积分的第一类换元法】 已知 ()()f u du F u C =+? 求()(())'()(())()g x dx f x x dx f x d x ????= =? ?? 【凑微分】 ()()f u du F u C = =+? 【做变换,令()u x ?=,再积分】 (())F x C ?=+ 【变量还原,()u x ?=】 【求不定积分()g x dx ? 的第一换元法的具体步骤如下:】 (1)变换被积函数的积分形式:()(())'()dx g x f x x dx ??=?? (2)凑微分:()(())((')))(()x g x dx d x dx f x f x ????= =??? (3)作变量代换()u x ?=得:()(())'()()()()g x dx f x x x x dx f d ????==? ??()u f u d =? (4)利用基本积分公式()()f u du F u C =+?求出原函数: ()(())'()(())()g x dx f x x dx f x d x ????==???()()d u u C f u F ==+? (5)将()u x ?=代入上面的结果,回到原来的积分变量x 得: ()(())'()(())()g x dx f x x dx f x d x ????==???()()f u du F u C ==+?(())F x C ?=+ 【注】熟悉上述步骤后,也可以不引入中间变量()u x ?=,省略(3)(4)步骤,这与复合函数的求导法则类似。 __________________________________________________________________________________________ 【第一换元法例题】 1、9 9 9 9 (57)(57)(5711(57)(57)55 )(57)dx d x d x dx x x x x +=+?=+?= +?++? ? ? ? 110091(57)(57)(57)10111 (57)5550 d C x x x x C =?=?+=+++++? 【注】1 (57)'5,(57)5,(57)5 x d x dx dx d x +=+==+?? 2、1ln ln ln ln dx d x x x dx x x x =?=???? 221 (l 1ln ln (ln )2n )2x x x d C x C =?=+=+? 【注】111 (ln )',(ln ),(ln )x d x dx dx d x x x x ===?? 3(1)sin tan cos co si s cos cos n cos cos xdx d x xdx dx x d x x x x x --= ===? ???? cos ln |cos |c ln |co s |o s x x d C x C x =-=-+=-+?

矩形法求函数的定积分

用矩形法求函数的定积分(C语言实现)在本程序中,先分别定义了5个C函数f1、f2、f3、f4、f5,用来代表5个不同的函数。然后定义了一个求定积分的函数integral。现在介绍矩形法求函数定积分的数学思想。 设函数f(x)在区间[a,b]上连续,在(a,b)上可导,将[a,b]之间的长度等分成n份(n越大计算越精确)。于是第i块小矩形的面积为S i, S i=b?a n f(a+ b?a n i) 所有小矩形的面积之和为 S i n i=1实际的定积分的值 f(x) b a d x=lim n→∞ S i n i=1 所以说n值越大,计算越精确。 源代码如下: #include//矩形法求定积分的算法#include #define N 1e6 double f1(double x) { double y; y=1.0+x; return y; } double f2(double x) { double y; y=2.0*x+3; return y; }

double f3(double x) { double y; y=exp(x)+1.0; return y; } double f4(double x) { double y; y=pow(1.0+x,2); return y; } double f5(double x) { double y; y=pow(x,3); return y; } double integral(double a,doubleb,double (*fun)(double)) { inti; double d=(b-a)/N; double sum=0; for(i=1;i<=N;i++) { sum=sum+d*(*fun)(a+i*d);//定积分近似计算公式 }//fun是指向函数的指针,该指针所指向的函数带有一个double型的形参,//同时,该函数的返回值类型为double return sum;

数值分析与算法变步长梯形求积法计算定积分

变步长梯形求积法计算定积分 1.原理: 变步长求积法的主要思想是利用若干小梯形的面积代替原方程的积分,当精度达不到要求时,可以通过增加点数对已有的区间再次划分,达到所需精度时即可;其中由于新的式子中有原来n点中的部分项,故可以省略一些计算,符合了计算机计算存储的思想。 主要公式:T2n=T n/2+(h/2)*Σf(x k+; 2.C++语言实现方式: 通过每次的T n值和新增的函数值点计算T2n,再通过判断|T n-T2n|的大小来判断是否达到精度要求。 3.源程序如下: #include"" #include"" double f(double x)//预先输入的待积分函数 { double s; s=log(x*x); return(s); } double ffts(double a,double b,double eps) { int n,k; double fa,fb,h,t1,p,s,x,t; fa=f(a);

fb=f(b); n=1; h=b-a; t1=h*(fa+fb)/2; p=eps+1; while(p>=eps) { s=0; for(k=0;k<=n-1;k++) { x=a+(k+*h; s=s+f(x); } t=t1/2+h*s/2; p=fabs(t1-t); cout<<"步长n为:"<

定积分计算公式和性质

定积分计算公式和性质第二节 一、变上限函数 上的任一点,于是,x在区间设函数为在区间上连续,并且设 上的定积分为 这里x既是积分上限,又是积分变量,由于定积分与积分变量无关,故可将此改为 在区x如果上限间上任意变动,则对于每一个取定的 上定义了一个以xx为自变量的函值,定积分有一个确定值与之对应,所以定积分在 上变上限函数在区间数,我们把称为函数 记为图 5-10

上一个动点,从而以线段为底的曲边梯是从几何上看,也很显然。因为X形的面积,必然随着底数端点的变化而变化,所以阴影部分的面积是端点x的函数(见图5-10) 定积分计算公式利用定义计算定积分的值是十分麻烦的,有时甚至无法计算。因此,必须寻求计算定积分的简便方法。 作直线运动,那么在时间区间我们知道:如果物体以速度上所经过的 s为路程5-11 图 的函数,那么物体从t=at到t=b另一方面,如果物体经过的路程s是时间 5-11)所经过的路程应该是(见图 即 为了求出定积分即是由导数的物理意义可知:一个原函数,因此,

上的增量,再求应先求出被积函数在区间的原函数,即可。 的一般方法:如果抛开上面物理意义,便可得出计算定积分 ,在闭区间上连续,是的一个原函数,即设函数则 这个公式叫做牛顿-莱布尼兹公式。为了使用方便,将公式写成 莱布尼兹公式通常也叫做微积分基本公式。它表示一个函数定积分等于这个函牛顿-提供它揭示了定积分和不定积分的内在联系,数的原函数在积分上、下限处函数值之差。了计算定积分有效而简便的方法,从而使定积分得到了广泛的应用。 例1 计算 的一个原函数所以因为是

所围成y=0及x=、x=0和直线求曲线2 例 A(5-12)

相关文档
相关文档 最新文档