《《定积分的近似计算》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《定积分的近似计算》PPT课件.ppt(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实验二定积分的近似计算数学实验数学实验1l 定积分计算的基本公式是牛顿莱布尼兹公式。但当定积分计算的基本公式是牛顿莱布尼兹公式。但当被积函数的原函数不知道时,如何计算?这时就需要利被积函数的原函数不知道时,如何计算?这时就需要利用用近似计算近似计算。特别是在许多实际应用中,被积函数甚至。特别是在许多实际应用中,被积函数甚至没有解析表达式,而是一条实验记录曲线,或一组离散没有解析表达式,而是一条实验记录曲线,或一组离散的采样值,此时只能用近似方法计算定积分。的采样值,此时只能用近似方法计算定积分。l 本实验主要研究定积分的三种近似计算算法:本实验主要研究定积分的三种近似计算算法:矩形法矩形法、梯
2、形法梯形法和和抛物线法抛物线法。同时介绍。同时介绍 Matlab 计算定积分的相关计算定积分的相关函数。函数。q 问题背景和实验目的问题背景和实验目的定积分的近似计算定积分的近似计算2l 矩形法矩形法l 梯形法梯形法l 抛物线法抛物线法q 数值积分的常见算法数值积分的常见算法主要内容主要内容q Matlab 求积分函数求积分函数l 数值积分函数:数值积分函数:trapz、quad、dblquadl 符号积分函数:符号积分函数:int3q 定积分的定义定积分的定义定积分的近似定积分的近似4矩形法矩形法n 充分大,充分大,x 充分小充分小l 通常我们取通常我们取左点法左点法右点法右点法中点法中点法
3、l 点点 可以任意选取,常见的取法有:可以任意选取,常见的取法有:左端点左端点 ,右端点右端点 和中点和中点 。l 定积分的近似:定积分的近似:5步长节点矩形法矩形法左点法左点法右点法右点法中点法中点法6矩形法举例矩形法举例例:例:用不同的矩形法计算下面的定积分用不同的矩形法计算下面的定积分(取取 n=100),并比较这三种方法的相对误差。并比较这三种方法的相对误差。l 左点法:左点法:l 右点法:右点法:l 中点法:中点法:解:解:h=1/n=0.01,xi=i*h,a=0,b=1,n=100 (i=0,1,2,.,100)7l 理论值:理论值:l 左点法相对误差:左点法相对误差:l 相对误
4、差分析相对误差分析矩形法举例矩形法举例l 右点法相对误差:右点法相对误差:l 中点法相对误差:中点法相对误差:不同的算法有不同的计算精度不同的算法有不同的计算精度有没有更好的近似计算定积分的方法有没有更好的近似计算定积分的方法?8定积分几何意义定积分几何意义9l 曲边小梯形曲边小梯形的面积可以由的面积可以由直边小梯形直边小梯形的面积来近似的面积来近似l 整个整个曲边梯形曲边梯形的面积的面积:梯形法梯形法10l 如果我们如果我们 n 等分区间等分区间 a,b,即令:即令:则则=梯形公式梯形公式梯形法梯形法梯形公式与中点公式有什么区别梯形公式与中点公式有什么区别?11解:解:=例:例:用梯形法计算
5、下面定积分用梯形法计算下面定积分(取取 n=100),并计算相对误差并计算相对误差梯形法举例梯形法举例a=0,b=1,n=100,f(x)=1/(1+x2)=h=1/100=0.01,xi=i*h,yi=f(xi)l 相对误差:相对误差:12l 2n 等分区间等分区间 a,b,得得用用抛物线抛物线代替该代替该直线直线,计算精度是否会更好?计算精度是否会更好?l 计算每个节点上的函数值:计算每个节点上的函数值:抛物线法抛物线法l 在区间在区间 x0,x2 上,用过以下三点上,用过以下三点的的抛物线抛物线来近似原函数来近似原函数 f(x)。13设过以上三点的抛物线方程为:设过以上三点的抛物线方程为
6、:则在区间则在区间 x0,x2 上,有上,有y=x2+x+=p1(x)抛物线法抛物线法14l 同理可得:同理可得:l 相加即得:相加即得:抛物线法抛物线法15l 整理后可得:整理后可得:或或辛卜生辛卜生(Simpson)公式公式抛物线法公式抛物线法公式抛物线法抛物线法 16=例:例:用抛物线法计算下面定积分用抛物线法计算下面定积分(取取 n=100),并计算相对误差并计算相对误差解:解:a=0,b=1,n=100,yi=f(xi)=1/(1+xi2)抛物线法抛物线法l 相对误差:相对误差:17l 矩形法矩形法l 梯形法梯形法l 抛物线法抛物线法q 数值积分的常见算法数值积分的常见算法Matla
7、b 函数函数q Matlab 求积分函数求积分函数l 数值积分函数:数值积分函数:trapz、quad、dblquadl 符号积分函数:符号积分函数:int18trapz(x,y)x 为分割点(节点)组成的向量,为分割点(节点)组成的向量,y 为被积函数在节点上的函数值组成的向量。为被积函数在节点上的函数值组成的向量。q trapztrapz梯形法梯形法19前面的前面的做法做法例:例:用梯形法计算下面定积分用梯形法计算下面定积分(取取 n=100)解:解:a=0,b=1,n=100,yi=f(xi)=1/(1+xi2)x=0:1/100:1;y=1./(1+x.2);trapz(x,y)tra
8、pz函数函数trapz(x,1./(1+x.2)trapz 举例举例20quad(f,a,b,tol)f=f(x)为被积函数,为被积函数,a,b 为积分区间,为积分区间,tol 为计算精度为计算精度将自变量看成是将自变量看成是向量向量l 不用自己分割积分区间不用自己分割积分区间l 可以指定计算精度,若不指定,缺省精度是可以指定计算精度,若不指定,缺省精度是 10-6l 精度越高,函数运行的时间越长精度越高,函数运行的时间越长l 此处的函数此处的函数 f 是是数值形式数值形式,应该使用数组运算,即:,应该使用数组运算,即:.*./.quadq quad抛物线法抛物线法21解:解:quad(1./
9、(1+x.2),0,1)quad(1./(1+x.2),0,1,1e-10)quad(1./(1+x.2),0,1,1e-16)函数表达式一定要用函数表达式一定要用 单引号单引号 括起来!括起来!涉及的运算一定要用涉及的运算一定要用 数组运算数组运算!例:例:用用 quad 计算定积分:计算定积分:quad 举例举例22dblquad(f,a,b,c,d,tol)l tol 为计算精度,若不指定,则缺省精度为为计算精度,若不指定,则缺省精度为 10-6l f 可以是:可以是:字符串字符串;inline 定义的内联函数;定义的内联函数;函数句柄函数句柄l a,b 是是 第一积分变量第一积分变量
10、的积分区间,的积分区间,c,d 是是 第二积分变量第二积分变量 的积分区间的积分区间按字母顺序,大写字母排在小写字母的前面dblquadq 抛物线法计算抛物线法计算二重二重积分:积分:dblquad23 f=inline(4*x*y+3*y2);I=dblquad(f,-1,1,0,2)f 中关于中关于第一自变量第一自变量的运算是的运算是数组运算数组运算,即把,即把 x 看成是向看成是向量,量,y 看成是标量。也可以全部采用数组运算看成是标量。也可以全部采用数组运算例:例:计算二重积分计算二重积分 dblquad(inline(4*x*y+3*x2),-1,1,0,2)dblquad(inli
11、ne(4*x*y+3*x.2),-1,1,0,2)X例:例:计算二重积分计算二重积分dblquad 举例举例24例:例:计算计算二重积分二重积分 dblquad(x,y)4*x*y+3*x.2,-1,1,0,2)指定指定 x、y 分别是分别是第一第一和和第二第二积分变量积分变量 dblquad(inline(4*x*y+3*x.2),-1,1,0,2)l 被积函数被积函数 f(x,y)的另一种定义方法:的另一种定义方法:匿名函数匿名函数 dblquad(y,x)4*x*y+3*x.2,-1,1,0,2)下面的命令运行结果和上面的一样吗?下面的命令运行结果和上面的一样吗?dblquad 举例举例
12、25int(f,a,b)计算计算 f 关于关于默认自变量默认自变量 的的定积分定积分,积分区间为,积分区间为a,b。int(f)计算计算 f 关于关于默认自变量默认自变量 的的不定积分不定积分。int(f,v,a,b)计算函数计算函数 f 关于自变量关于自变量 v 的的定积分定积分,积分区间为,积分区间为 a,bint(f,v)计算函数计算函数 f 关于自变量关于自变量 v 的的不定积分不定积分findsym(f,1)intq 符号积分:符号积分:int26例:例:用用 int 函数计算定积分:函数计算定积分:解:解:syms x;f=1/(1+x2);int(f,x,0,1)f=sym(1/
13、(1+x2);int(f,x,0,1)int(1/(1+x2),x,0,1)或或 int(1/(1+x2),0,1)或或或或int 举例举例27double(a)将将 a 转化为双精度型,若转化为双精度型,若 a 是字符,则取对应的是字符,则取对应的 ASCII 码码 a=3;double(a)double(a)例例:ans=3ans=97相关函数相关函数28 x=1:2;y=exp(x.(-2);trapz(x,y)l 梯形法:梯形法:l 抛物线法:抛物线法:quad(exp(x.(-2),1,2,10e-10)l 符号积分法:符号积分法:syms x int(exp(x(-2),x,1,2)例例:用用 Matlab 函数近似计算定积分函数近似计算定积分数值实验数值实验29l 抛物线法:抛物线法:dblquad(inline(x+y2),0,2,-1,1)l 符号积分法:符号积分法:f=int(x+y2,y,-1,1);int(f,x,0,2)数值实验数值实验例例:用用 Matlab 函数近似计算二重积分函数近似计算二重积分30
限制150内