matlab积分计算

上传人:简****9 文档编号:108420365 上传时间:2019-10-23 格式:PPT 页数:33 大小:827KB
返回 下载 相关 举报
matlab积分计算_第1页
第1页 / 共33页
matlab积分计算_第2页
第2页 / 共33页
matlab积分计算_第3页
第3页 / 共33页
matlab积分计算_第4页
第4页 / 共33页
matlab积分计算_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《matlab积分计算》由会员分享,可在线阅读,更多相关《matlab积分计算(33页珍藏版)》请在金锄头文库上搜索。

1、符号积分例1, syms x t %定义符号变量x,t s=4*x*t; %定义符号表达式s int(s,2,sin(t) %求符号表达式s关于 默认变 量 x从2到sin(t)的定积分 ans = 2*t*(sin(t)2-4),问题背景和实验目的,定积分的数值计算,定积分计算的基本公式是牛顿莱布尼兹公式。但当被积函数的原函数不知道时,如何计算?这时就需要利用近似计算。特别是在许多实际应用中,被积函数甚至没有解析表达式,而是一条实验记录曲线,或一组离散的采样值,此时只能用近似方法计算定积分。,本实验主要研究定积分的三种近似计算算法:矩形法、梯形法和抛物线法。同时介绍 Matlab 计算定积分

2、的相关函数。,矩形法,定积分的定义:,实验二、定积分的近似计算,矩形法,n 充分大,x 充分小,定积分的近似:,左点法,右点法,中点法,点 可以任意选取,常见的取法有: 左端点 ,右端点 和中点 。,步长,节点,右点法:,中点法:,左点法:,左点法、右点法和中点法,解:,矩形法举例,a=0, b=1, n=100,例:用不同的矩形法计算下面的定积分 ( 取 n=100 ), 并比较这三种方法的相对误差。,左点法:,右点法:,中点法:,(i = 0,1,2,.,100),理论值:,左点法相对误差:,误差分析,矩形法举例,右点法相对误差:,中点法相对误差:,不同的方法有不同的计算精度,有没有更好的

3、近似计算定积分的方法 ?,定积分几何意义,曲边小梯形的面积可以由直边小梯形的面积来近似,整个曲边梯形的面积:,梯形法,如果我们 n 等分区间 a,b,即令:,则,=,梯形公式,梯形法,梯形公式与中点公式有什么区别 ?,解:,=,例:用梯形法计算下面定积分 ( 取 n=100 ), 并计算相对误差,梯形法举例,a=0, b=1, n=100, f (x) = 1/( 1+x2 ),相对误差:,2n 等分区间 a,b ,得,该直线用抛物线代替,计算精度是否会更好?,计算每个节点上的函数值:,抛物线法,在区间 x0, x2 上,用过以下三点,的抛物线来近似原函数 f (x) 。,设过以上三点的抛物线

4、方程为:,则在区间 x0, x2 上,有,y = x2 + x + = p1(x),抛物线法,同理可得:,相加即得:,抛物线法,整理后可得:,或,辛普森 (Simpson) 公式,抛物线法公式,抛物线法,=,例:用抛物线法计算下面定积分 ( 取 n=100 ), 并计算相对误差,解:,a=0, b=1, n=100, yi = f (xi) = 1/( 1+xi2 ),相对误差:,抛物线法,梯形法:trapz,trapz(x,y) x 为分割点(节点)组成的向量, y 为被积函数在节点上的函数值组成的向量。,Matlab 近似计算定积分的相关函数,Matlab 计算定积分函数介绍,前面的做法,

5、例:用梯形法计算下面定积分 ( 取 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 为计算精度,将自变量看成是向量,抛物线法:quad,抛物线法,解:, quad(1./(1+x.2),0,1), quad(1./(1+x.2),0,1,10e-10), quad(1./(1+x.2),0,1,10

6、e-16),函数表达式一定要用 单引号 括起来! 涉及的运算一定要用 数组运算!,例:用 quad 计算定积分:,quad 举例,抛物线法计算二重积分: dblquad,dblquad(f,a,b,c,d,tol),tol 为计算精度,若不指定,则缺省精度为 10-6,f(x,y) 可以由 inline 定义,或通过一个函数句柄传递,a,b 是第一积分变量的积分区间,c,d 是第二积分变量 的积分区间,按字母顺序,大写字母排在小写字母的前面,二重积分的计算, f=inline(4*x*y+3*y2); I=dblquad(f, -1,1,0,2),f(x,y) 中关于第一自变量的运算是数组运算

7、, 即把 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),被积函数 f (x,y) 的另一种定义方法:匿名函数,dblquad 举例,int(f,a,

8、b) 计算 f 关于默认自变量 的定积分,积分区间为a,b。,int(f) 计算 f 关于默认自变量 的不定积分。,int(f,v,a,b) 计算函数 f 关于自变量 v 的定积分,积分区间为 a, b,int(f,v) 计算函数 f 关于自变量 v 的不定积分,findsym(f,1),符号积分: 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,例:指出下面各条语句的输出结果,in

9、t 举例,例:用 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),梯形法:,抛物线法:, quad(exp(x.(-2),1,2,10e-10),符号积分法:, syms x int(exp(x(-2),x,1,2),例 1:用 Matlab 函数近似计算积分,数值实验,抛物线法:, dblquad(inline(x+y2),0,2,-1,1),符号积分法:, f=int(x+y2,y,-1,1); int(f,0,2),数值实验,例 2:用 Matlab 函数近似计算二重积分,教材第 75 页:2、3、6,作业,上机作业,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号