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