资源预览内容
第1页 / 共28页
第2页 / 共28页
第3页 / 共28页
第4页 / 共28页
第5页 / 共28页
第6页 / 共28页
第7页 / 共28页
第8页 / 共28页
第9页 / 共28页
第10页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
MATLAB 高等数学实验实验五实验五 一元函数积分学一元函数积分学n n实验目的n n掌握用MATLAB计算不定积分与定积分的方法。通过作图和观察,深入理解定积分的概念和几何意义。理解变上限积分概念。提高应用定积分解决各种问题的能力。5.1 学习学习MATLAB命令命令5.1.1 积分命令积分命令n nMATLABMATLAB软件求函数积分的命令是软件求函数积分的命令是intint,它既可以用于计,它既可以用于计算不定积分,也可以用于计算定积分。算不定积分,也可以用于计算定积分。n n具体为具体为: :n n(1)int(f)(1)int(f)求函数求函数f f关于关于symssyms定义的符号变量的不定积分定义的符号变量的不定积分; ;n n(2)int(f,v)(2)int(f,v)求函数求函数f f关于变量关于变量v v的不定积分的不定积分; ;n n(3)int(f,a,b)(3)int(f,a,b)求函数求函数f f关于关于symssyms定义的符号变量的从定义的符号变量的从a a到到b b的定积分的定积分; ;n n(4)int(f,v,a,b)(4)int(f,v,a,b)求函数求函数f f关于变量关于变量v v的从的从a a到到b b的定积分。的定积分。数值积分命令数值积分命令n nquad(f,a,b)quad(f,a,b)命令是用辛普森法求定积分命令是用辛普森法求定积分 的近的近似值。其形式为似值。其形式为: :syms xsyms xquad(f(x),a,b)quad(f(x),a,b)n n例如求定积分例如求定积分 的近似值,可以输入的近似值,可以输入: :syms xsyms xquad(sin(x.2),0,1)quad(sin(x.2),0,1)n n则输出为则输出为: :ans=ans=5.2 实验内容实验内容5.2.1 用定义计算定积分用定义计算定积分n n当当f(x)f(x)在在a,ba,b上连续时,有上连续时,有: :n n因此将因此将 与与 作为作为 的近似值。在例的近似值。在例1 1中定义这两个近似值为中定义这两个近似值为f f,a a,b b和和n n的函的函数。数。n n【例例1 1】计算计算 的近似值。的近似值。n n输入输入: :n=128;n=128;x=0:1/n:1;x=0:1/n:1;left_sum=0;left_sum=0;right_sum=0;right_sum=0;for i=1:nfor i=1:nleft_sum=left_sum+x(i)2*(1/n);left_sum=left_sum+x(i)2*(1/n);right_sum=right_sum+x(i+1)2*(1/n);right_sum=right_sum+x(i+1)2*(1/n);endendleft_sumleft_sumright_sumright_sumn n输出为输出为: : left_sum=left_sum=right_sum=right_sum=n n若将以上输入中的若将以上输入中的n n依次换为依次换为2 2,4 4,8 8,1616,3232,6464,128128,256256,512512,10241024,而其他的不改动,则输出依次为,而其他的不改动,则输出依次为: :n nleft_sumleft_sumright_sumright_sumn n这是这是 的一系列近似值,且有的一系列近似值,且有left_sum right_sumleft_sum right_sum。n n【例例2 2】计算计算 的近似值。的近似值。n n输入输入: :n=100;n=100;x=0:1/n:1;x=0:1/n:1;left_sum=0;left_sum=0;right_sum=0;right_sum=0;for i=1:nfor i=1:n if i=1 if i=1 left_sum=left_sum+1/n; left_sum=left_sum+1/n; else else left_sum=left_sum+sin(x(i)/x(i)*(1/n); left_sum=left_sum+sin(x(i)/x(i)*(1/n); end end right_sum=right_sum+sin(x(i+1)/x(i+1)*(1/n); right_sum=right_sum+sin(x(i+1)/x(i+1)*(1/n);endendleft_sumleft_sumright_sumright_sumn n输出为输出为: :left_sumleft_sumrigh_sumrigh_sumn n若将以上输入中的若将以上输入中的n n依次换为依次换为5050,150150,200200,500500,而,而其余不改动,则输出依次为其余不改动,则输出依次为: :n nn n left_sumleft_sumright_sumright_sumn n注注注注 用这种方法(矩形法)得到的定积分的近似值随用这种方法(矩形法)得到的定积分的近似值随n n收收敛的很慢。可以利用梯形法或抛物线法改进收敛速度敛的很慢。可以利用梯形法或抛物线法改进收敛速度(quadquad命令就是利用抛物线法的)。命令就是利用抛物线法的)。5.2.2 不定积分计算不定积分计算n n【例例3 3】求求 。n n输入输入: :syms xsyms xint(x2*(1-x3)5,x)int(x2*(1-x3)5,x)n n则得到输出则得到输出: :ans=ans=-1/18*x18+1/3*x15-5/6*x12+10/9*x9-1/18*x18+1/3*x15-5/6*x12+10/9*x9- 5/6*x6+1/3*x3 5/6*x6+1/3*x3n n即即: :n n注注注注 用用MATLABMATLAB软件求不定积分时,不自动添加积分常数软件求不定积分时,不自动添加积分常数C C。n n【例例4 4】求求 。n n输入输入: :syms xsyms xint(exp(-2*x)*sin(3*x),x)int(exp(-2*x)*sin(3*x),x)n n则得到输出则得到输出: :ans=ans=-3/13*exp(-2*x)*cos(3*x)-2/13*exp(-2*x)*sin(3*x)-3/13*exp(-2*x)*cos(3*x)-2/13*exp(-2*x)*sin(3*x)n n即即: :n n【例例5 5】求求n n输入输入: :syms xsyms xint(atan(x)*x2,x)int(atan(x)*x2,x)n n则得到输出则得到输出: :ans=ans=1/3*x3*atan(x)-1/6*x2+1/6*log(x2+1)1/3*x3*atan(x)-1/6*x2+1/6*log(x2+1)n n即即: :n n【例例6 6】求求n n输入输入: :syms xsyms xint(sin(x)/x,x)int(sin(x)/x,x)n n则输出为则输出为: :ans=ans=sinint(x)sinint(x)n n它已不是初等函数。它已不是初等函数。5.2.3 定积分计算定积分计算n n【例例7 7】求求n n输入输入: :syms xsyms xjf=int(x-x2),x,0,1)jf=int(x-x2),x,0,1)n n则得到输出则得到输出: :jf=jf=1/61/6n n【例例8 8】求求n n输入输入: :syms xsyms xjf=int(abs(x-2),x,0,4)jf=int(abs(x-2),x,0,4)n n则得到输出则得到输出: :jf=jf=4 4n n【例例9 9】求求n n输入输入: :syms xsyms xjf=int(sqrt(4-x2),x,1,2)jf=int(sqrt(4-x2),x,1,2)n n则得到输出则得到输出: :jf=jf=2/3*pi-1/2*3(1/2)2/3*pi-1/2*3(1/2)n n【例例1010】求求n n输入输入: :syms xsyms xjf=int(exp(-x2),x,0,1)jf=int(exp(-x2),x,0,1)n n则输出为则输出为: :jf=jf=1/2*erf(1)*pi(1/2)1/2*erf(1)*pi(1/2)n n其中其中erferf是误差函数,它不是初等函数。改为求数值积分,是误差函数,它不是初等函数。改为求数值积分,输入输入: :syms xsyms xquad(exp(-x.2),0,1)quad(exp(-x.2),0,1)n n则有结果则有结果: :ans=ans=5.2.4 变上限积分变上限积分n n【例例1111】求求n n输入输入: :diff(int(w(x),0,(cos(x)2)diff(int(w(x),0,(cos(x)2)n n则得到输出则得到输出: :ans=-2*cos(x)*sin(x)*w(cos(x)2)ans=-2*cos(x)*sin(x)*w(cos(x)2)n n即即: :n n注注注注 这里使用了复合函数求导公式。这里使用了复合函数求导公式。5.2.5 定积分应用定积分应用n n【例例1212】求曲线求曲线 与与x x轴所围成的图形轴所围成的图形分别绕分别绕x x轴和轴和y y轴旋转所形成的旋转体体积。用轴旋转所形成的旋转体体积。用surfsurf命令作命令作出这两个旋转体的图形。出这两个旋转体的图形。n n在图形绕在图形绕x x轴旋转时,体积轴旋转时,体积n n在图形绕在图形绕y y轴旋转时,体积轴旋转时,体积n n输入输入: :ezplot(x*sin(x)2,0,pi)ezplot(x*sin(x)2,0,pi)n n执行后得到的图形如图执行后得到的图形如图5-15-1所示。所示。图5-1n n观察观察g(x)g(x)的图形。再输入的图形。再输入: :syms xsyms xint(pi*(x*(sin(x)2)2,x,0,pi)int(pi*(x*(sin(x)2)2,x,0,pi)n n则得到则得到: :ans=ans=1/8*pi4-15/64*pi21/8*pi4-15/64*pi2n n即即: :n n又输入又输入: :syms xsyms xint(2*x2*pi*sin(x)2,x,0,pi) int(2*x2*pi*sin(x)2,x,0,pi) n n则得到则得到: :ans=ans=1/3*pi4-1/2*pi21/3*pi4-1/2*pi2n n即即: :n n若输入若输入: :syms xsyms xquad(2*pi*(x.2).*sin(x).2,0,pi)quad(2*pi*(x.2).*sin(x).2,0,pi)n n则得到体积的近似值为则得到体积的近似值为: :ans=ans=n n为了作出旋转体的图形,输入为了作出旋转体的图形,输入: :r=0:0.1:pi; t=-pi:0.1:pi;r=0:0.1:pi; t=-pi:0.1:pi;r,t=meshgrid(r,t);r,t=meshgrid(r,t);x=r;x=r;z=r.*sin(t).*sin(r).2;z=r.*sin(t).*sin(r).2;y=r.*cos(t).*sin(r).2;y=r.*cos(t).*sin(r).2;surf(x,y,z)surf(x,y,z)title(title(绕绕x x轴旋转轴旋转););xlabel(xxlabel(x轴轴); ylabel(y); ylabel(y轴轴); zlabel(z); zlabel(z轴轴) )n n便得到绕便得到绕x x轴旋转所得旋转体的图形轴旋转所得旋转体的图形( (见图见图5-2)5-2)。n n注注 利用曲面参数方程作出曲面图形的命令,详见实验六。利用曲面参数方程作出曲面图形的命令,详见实验六。图5-2n n又输入又输入: :r=0:0.1:pi; t=-pi:0.1:pi;r=0:0.1:pi; t=-pi:0.1:pi;r,t=meshgrid(r,t);r,t=meshgrid(r,t);x=r.*cos(t);x=r.*cos(t);z=r.*sin(t);z=r.*sin(t);y=r.*sin(r).2;y=r.*sin(r).2;surf(x,y,z)surf(x,y,z)title(title(绕绕y y轴旋转轴旋转););xlabel(xxlabel(x轴轴); ylabel(y); ylabel(y轴轴); zlabel(z); zlabel(z轴轴) )n n便得到绕便得到绕y y轴旋转所得旋转体的图形轴旋转所得旋转体的图形( (见图见图5-3)5-3)。图5-3
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号