实验二定积分的近似计算.ppt_第1页
实验二定积分的近似计算.ppt_第2页
实验二定积分的近似计算.ppt_第3页
实验二定积分的近似计算.ppt_第4页
实验二定积分的近似计算.ppt_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数学实验 实验二 定积分的近似计算 q 问题背景和实验目的 实验二、定积分的近似计算 u 定积分计算的基本公式是牛顿莱布尼兹公式。但当 被积函数的原函数不知道时,如何计算?这时就需要利 用近似计算。特别是在许多实际应用中,被积函数甚至 没有解析表达式,而是一条实验记录曲线,或一组离散 的采样值,此时只能用近似方法计算定积分。 u 本实验主要研究定积分的三种近似计算算法:矩形法 、梯形法和抛物线法。同时介绍 Matlab 计算定积分的相 关函数。 q 矩形法 u 定积分的定义: 实验二、定积分的近似计算 矩形法 n 充分大,x 充分小 u 定积分的近似: l 通常我们取 左点法右点法中点法 l 点 可以任意选取,常见的取法有: 左端点 ,右端点 和中点 。 步长 节点 u 右点法: u 中点法: u 左点法: 左点法、右点法和中点法 解: 矩形法举例 = h =1/100=0.01, xi = i*h, a=0, b=1, n=100 u 例:用不同的矩形法计算下面的定积分 ( 取 n=100 ), 并比较这三种方法的相对误差。 l 左点法: l 右点法: l 中点法: (i = 0,1,2,.,100) l 理论值: l 左点法相对误差: u 误差分析 矩形法举例 l 右点法相对误差: l 中点法相对误差: 不同的方法有不同的计算精度 有没有更好的近似计算定积分的方法 ? 定积分几何意义 u 曲边小梯形的面积可以由直边小梯形的面积来近似 u 整个曲边梯形的面积: 梯形法 u 如果我们 n 等分区间 a,b,即令: 则 = 梯形公式 梯形法 梯形公式与中点公式有什么区别 ? 解: = u 例:用梯形法计算下面定积分 ( 取 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 相对误差: u 2n 等分区间 a,b ,得 该直线用抛物线代替, 计算精度是否会更好? u 计算每个节点上的函数值: 抛物线法 u 在区间 x0, x2 上,用过以下三点 的抛物线来近似原函数 f (x) 。 u 设过以上三点的抛物线方程为: 则在区间 x0, x2 上,有 y = x2 + x + = p1(x) 抛物线法 u 同理可得: u 相加即得: 抛物线法 u 整理后可得: 或辛普森 (Simpson) 公式 抛物线法公式 抛物线法 = u 例:用抛物线法计算下面定积分 ( 取 n=100 ), 并计算相对误差 解:a=0, b=1, n=100, yi = f (xi) = 1/( 1+xi2 ) l 相对误差: 抛物线法 u 梯形法:trapz trapz(x,y) x 为分割点(节点)组成的向量, y 为被积函数在节点上的函数值组成的向量。 q Matlab 近似计算定积分的相关函数 Matlab 计算定积分函数介绍 前面的 做法 u 例:用梯形法计算下面定积分 ( 取 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) trapz 函数 trapz(x,1./(1+x.2) trapz 举例 quad(f,a,b,tol) f = f(x) 为被积函数,a,b 为积分区间,tol 为计算精度 将自变量看成是向量 u 抛物线法:quad l 不用自己分割积分区间 l 可以指定计算精度,若不指定,缺省精度是 10-6 l 精度越高,函数运行的时间越长 l 此处的函数 f 是数值形式,应该使用数组运算,即 点运算:.*,./ ,. ,. 注: 抛物线法 解: quad(1./(1+x.2),0,1) quad(1./(1+x.2),0,1,10e-10) quad(1./(1+x.2),0,1,10e-16) 函数表达式一定要用 单引号 括起来! 涉及的运算一定要用 数组运算! u 例:用 quad 计算定积分: quad 举例 q 抛物线法计算二重积分: dblquad dblquad(f,a,b,c,d,tol) u tol 为计算精度,若不指定,则缺省精度为 10-6 u f(x,y) 可以由 inline 定义,或通过一个函数句柄传递 u a,b 是第一积分变量的积分区间,c,d 是第二积分变量 的积分区间 按字母顺序,大写字母排在小写字母的前面 二重积分的计算 f=inline(4*x*y+3*y2); I=dblquad(f, -1,1,0,2) u f(x,y) 中关于第一自变量的运算是数组运算, 即把 x 看成是向量,y 看成是标量。 也可以全部采用数组运算 例2:计算二重积分 dblquad(inline(4*x*y+3*x2),-1,1,0,2) dblquad(inline(4*x*y+3*x.2),-1,1,0,2) X 例1:计算二重积分 dblquad 举例 例:计算二重积分 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) q 被积函数 f (x,y) 的另一种定义方法:匿名函数 dblquad(y,x)4*x*y+3*x.2 , -1,1, 0, 2) 下面的命令运行结果和上面的一样吗? dblquad 举例 int(f,a,b) 计算 f 关于默认自变量 的定积分,积分区间为a,b。 int(f) 计算 f 关于默认自变量 的不定积分。 int(f,v,a,b) 计算函数 f 关于自变量 v 的定积分,积分区间为 a, b int(f,v) 计算函数 f 关于自变量 v 的不定积分 findsym(f,1) q 符号积分: int int 符号积分 syms x y; f=y*sin(x); int(f,x) int(f,y) int(f) int(a+b) ans=-y*cos(x) ans=1/2*y2*sin(x) ans=-y*cos(x) ans=a*b+1/2*b2 u 例:指出下面各条语句的输出结果 int 举例 u 例:用 int 函数计算定积分: 解: syms x; f=1/(1+x2); int(f,x,0,1) f=sym(1/(1+x2); int(f,x,0,1) int(1/(1+x2),x,0,1) 或 int(1/(1+x2),0,1) 或 或 int 举例 double(a) 将 a 转化为双精度型,若 a 是字符,则取对应的 ASCII 码 a=3; double(a) double(a) 例:ans = 3 ans = 97 其它相关函数 x=1:0.001: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) 例 1:用 Matlab 函数近似计算积分 数值实验 l 抛物线法: dblquad(inline(x+y2),0,2,-1,1) l 符号积分法: f=int

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论