《MATLAB语言》课程论文MATLAB在重积分计算中的应用姓名:张晓花学号:12010245235专业:通信工程班级:通信工程1班指导老师:汤全武学院:物理电气信息完成日期:2011/12/212MATLAB在高等数学重积分中的应用(张晓花120102452352010级1班)[摘要]计算积分通常是一项复杂的工作,尤其是重积分的运算,其中涉及到积分区域的确定及画法换积分等步骤,而MATLAB将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,专门以矩阵的形式处理数据。该文运用MATLAB解决了在一重积分,二重积分和三重积分以及其应用方面的计算问题,充分展示了MATLAB在高等数学重积分中的应用。[关键词]MATLAB语言,高等数学,重积分,图形绘制一、问题的提出Matlab是当今很流行的科学计算软件,语法筒单、易学、好写有强大的运算及绘图能力,有强大且多样化的各种工具箱俩数库可供使用,包括与本书密切相关的图橡工具箱;信息技术、计算机技术发展到今天,科学计算在各个领域得到了广泛的应用。在许多诸如控制论、时间序列分析、系统仿真、图像信号处理、重积分的计算与应用等方面产生了大量的矩阵及其相应的计算问题。如果自己去编写大量的繁复的计算程序,不仅会消耗大量的时间和精力,减缓工作进程,而且往往质量不高。而matlab是一个交互式的系统,它的基本运算单元是不需要指定维数的矩阵。系统提供了大量的矩阵及其它运算函数,可以方便地进行一些复杂的计算,而且运算效率极高。matlab命令和数学中的符号、公式非常接近,可读性强,容易掌握,还可以利用它所提供的编程语言进行编程完成特定的工作Matlab编写程序犹如在演算纸上排列公式与求解问题,matlab语言也可以通俗地称为演算纸式科学算法语言。由于它编写简单,所以编译效率高,易学易懂。Matlab语言把编辑、编译、连接和执行融为一体,其调试程序手段丰富,调试速度快,需要学习时间少。它能在同一画面上进行灵活操作快速排除输入程序中的书写错误、语法错误以至语意错误,从而加快了用户编写、修改和调试程序的速度,可以说在编程和调试过程中它是一种比VB还要简单的语言。Matlab的绘图是十分方便的,它有一系列绘图函数(命令),使用时只需调用不同的绘图函数(命令),在图上标出图题、XY轴标注,格(栅)绘制也只需调用相应的命令,简单易行。另外,在调用绘图函数时调整自变量可绘出不变颜色的点、线、复线或多重线。本文针对重积分的计算与应用,运用matlab中所学的符号计算基础、符号函数及其应用以及符号积分来探讨分析matlab在一重积分中的计算,二重积分中的计算与应用,三重积分中的计算与应用,重积分的积分区域以及重积分在曲面积分中应用等方面的运用。二、Matlab在一重积分中的计算与应用问题一重积分的计算与应用常体现在不定积分的计算(第一类换元法、第二类换元法)和定积分计算与面积方面的应用。就不定积分,设F(x)是函数f(x)的一个原函数,我们把函数f(x)的所有原函数F(x)+C(C为任意常数)叫做函数f(x)的不定积分,记作:CxFdxxf)()((1)其中叫做积分号,f(x)叫做被积函数,x叫做积分变量,f(x)dx叫做被积式,C叫3做积分常数,求函数f(x)的不定积分,就是要求出f(x)的所有的原函数,由原函数的性质可知,只要求出函数f(x)的一个原函数,再加上任意的常数C,就得到函数f(x)的不定积分。不定积分的性质:函数的和的不定积分等于各个函数的不定积分的和,即:dxxgdxxfdxxgxf)()()]()([(2)求不定积分时,被积函数中不为零的常数因子可以提到积分号外面来,即:dxxfkdxxkf)()((3)(k是常数,k不为零)1、不定积分的计算在MATLAB中,int函数用于求符号函数的不定积分,有两种调用格式:(1)int(f):没有指定积分变量和积分阶数时,系统按findsym函数指示的默认变量对被积函数或符号表达式f求不定积。(2)Int(f,v):以v为自变量,对被积函数或符号表达式f求不定积分。求符号函数的积分也可使用int(f,v,a,b),其中a、b分别表示积分的下限和上限。该函数求被积函数f在区间[a、b]上的定积分。a和b可以是两个具体的数,也可以是一个符号表达式,还可以是无穷(inf)。当函数f关于变量x在闭区间[a,b]上可积时,函数返回一个定积分结果。当a、b中有一个是inf时,函数返回一个广义积分。当a,b中有一个符号表达式时,函数返回一个符号函数。问题1:计算不定积分dxx32)3(输入程序如下:x=sym('x');%定义符号变量xf=(3-x^2)^3;%将所给表达式用f表示int(f)%求表达式f的不定积分输出结果如下:ans=27*x-1/7*x^7+9/5*x^5-9*x^3问题2:求函数f(x)=1/(2x+2x+3),g(x)=1/(2x+2x-3)在负无穷到正无穷的积分。输入程序如下:symsx%定义一个符号变量xf=1/(x^2+2*x+3);%将f(x)表达式用f表示g=1/(x^2+2*x-3);%将g(x)表达式用g表示intf=int(f,-inf,inf)%求从负无穷到正无穷f的积分intg=int(g,-inf,inf)%求从负无穷到正无穷g的积分输出结果如下:intf=1/2*pi*2^(1/2)intg=NaN结果说明f(x)在整个数轴上可积分,而g(x)在整个数轴上不可积分。为什么呢?看两4个图像就明白了。图1f(x)的函数图象图2g(x)的函数图象由如上图可得知,原来,g(x)在数轴上有不可积的奇点。就定积分,设函数xf在ba,上有界,在ba,中任意插入1n个分点bxxxxxxxannii11210,把区间分划成n个小区间[,][,][,][,]xxxxxxxxiinn011211各区间的长度依次为11122011,,,,,nnniiixxxxxxxxxxxx在每个小区间[,]xxii1上任取一点iiiixx()1,作函数值)(if与小区间长度xi的乘积fxinii()(,,,)12作和式inixfs)(1记max{,,,}xxxn12若不论对区间[,]ab上怎样的分法,也不论对小区间[,]xxii1上的点i怎样的取法,只要当0时,和s总趋向于确定的值I,称这5个极限值I为函数xf在区间ba,上的定积分。记作dxxfba)(即fxdxIfxabiiin()lim()01(4)其中xf叫做被积函数;dxxf叫做被积表达式;x叫做积分变量;ba,叫做积分区间;a叫做积分下限;b叫做积分上限;inixf)(1叫做xf在ba,上的积分和式。如果xf在ba,上的定积分存在,我们就说xf在ba,上可积。设xf在区间ba,上连续,则xf在ba,上可积。设xf在区间ba,上有界,且只有有限个间断点,则xf在ba,上可积。2、定积分的计算问题问题3:求定积分dxxx219222输入程序如下:symsx%定义一个号变量xf1=(2*x^2)/(sqrt(9-x^2));%将计算的表达式的值赋给f1f2=sqrt(x^2-1)/(2*x);%将计算的表达式的值赋给f2f3=1/(sqrt((4+x^2)^3));%将计算的表达式的值赋给f3f=[f1;f2;f3];%将三者的值以矩阵的形式输出F=int(f,1,2),Y=double(F')%将计算的积分值赋给F并求其近似值输出结果如下:F=2*2^(1/2)-9*asin(1/3)-2*5^(1/2)+9*asin(2/3)-1/6*pi+1/2*3^(1/2)-1/20*5^(1/2)+1/8*2^(1/2)Y=1.86530.34240.06503、运用定积分求面积的问题Matlab中提供了两个建立符号对象的函数或命令:sym和syms,它们的用法不同。sym函数用来建立单个符号量,其调用格式为:符号量名=sym(符号字符串)该函数可以建立一个符号字符串,符号字符串可以是常量、变量、函数或表达式.sym函数一次只能定义一个符号变量,而syms一次可以定义多个符号变量,其格式为:symsarg1arg2…argn,其中arg1、arg2、…、argn是定义的符号变量名。注意变量间用空格而不要用逗号分隔。问题4:由y=sinx,y=cosx,x=-1/2,x=3/2所围成的平面区域D,求平面区域D的面积S。6解:(1)画出由y=sinx,y=cosx,x=-1/2,x=3/2所围成的封闭平面区域的图形,输入所作函数图形的程序如下:x=-1:0.001:2;%x从-1到2步长为0.001F1=sin(x);%用F1来表示sin(x)F2=cos(x);%用F2来表示cos(x)plot(x,F1,'b-',x,F2,'g-')%输出F1所表示的曲线为蓝色,输出F2所表示的曲线为绿色axis([-1,pi/4+1,-1.3,1.3])%设置坐标xlabel('x')%加x轴说明ylabel('y'),%加y轴说明title('y=sinx,y=cosx和x=-0.5及x=1.5所围成的平面区域的图形')%加图形标题输出结果如图3所示。图3由y=sinx,y=cosx,x=-1/2,x=3/2所围成的平面区域图形(2)求平面区域D的面积S,解方程组xyxycos,sin得在(-0.5,1.5)内的两条曲线交点的横坐标4x,所求面积为:S=45.0)sin(cosdxxx+5.14)cos(sindxxx。计算面积S的程序如下:symsx%定义符号变量xf1=cos(x)-sin(x);%用f1来表示cos(x)-sin(x)f2=-f1;%f2表示f1的相反数即为sin(x)-cos(x)s1=int(f1,x,-0.5,pi/4);%将f1的积分值赋给s1s2=int(f2,x,pi/4,1.5);%将f2的积分值赋给s2s=s1+s2,sj=double(s)%将s1的值与s2相加再求其近似值运行结果如下:s=sin(1/2)-cos(1/2)+2*2^(1/2)-sin(3/2)-cos(3/2)sj=1.3620三、Matlab在二重积分中的计算与应用问题7设函数),(yxf在有界闭区域D上有定义。将区域D任意分成n个小区域),,,1(nxii,i也表示第i个小区域的面积,在每个小区域i上任取一点),,2,1)(,(niyxii,作和式iiiniyxf)(,1当,n同时0时(表示所有i的最大直径),若上述和式的极限niiiinyxf1)0(),(lim存在,并且此极限与区域的分法及点),(iiyx的取法无关,则称此极限为函数),(yxfz在区域D上的二重积分,记作,iyixfdyxfniiD1),(lim),()(n(5)其中D叫做积分区域,),(yxf叫做被积函数,d叫面积元素.此时也称函数),(yxf在D上可积.如果0),(yxf,则二重积分Ddyxf),(的几何意义就是以曲面),(yxfz为顶面,以D为底面的曲顶柱体的体积。特别地,当1),(yxf时,平顶柱体的体积DDddV1,在数值上等于区域D的面积,于是得计算平面区域D的面积公式Dd二重积分与定积分有相类似的性质(6)对应区域的可加性:(1)若区域D分为两个部分区域DD12,,则(7)(2)若在D上,fxy(,)1,为区域D的面积,则(8)8问题1:计算dyxyxDxy)sin(,其中Dxy是由曲线x=2y,y=x-2所围成的平面区域。画出积分区域的图形,输入程序如下:symsxy%定义两个