资源描述:
《第6章 积分和微分运算.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第6章积分和微分运算积分和微分是微积分的重要内容,本章将对积分和微分的内容进行详细的介绍。积分包括单变量数值积分、双重积分和三重积分等。然后介绍了常微分方程的符号解和数值解。最后介绍了如何求函数的最小值和零点。6.1数值积分MATLAB提供了一些进行定积分的专用函数,用户可以很方便的进行单变量数值积分、双重积分和三重积分等。下面将首先介绍定积分的概念,然后对这些函数进行详细的介绍。6.1.1定积分概念函数f(x)在区间[a,b]上的定积分,记作:其中f(x)称为被积函数,f(x)dx称为被积表达式,x称为积分变量,a称为积分下限,b称为积分上限,区间[a,b]称为积分区间。6.1.2利用梯
2、形求面积求解定积分的数值方法有很多,例如简单的梯形法、Simpson法和Romberg法等等都是数值分析课程中经常介绍的方法。它们的基本思想是将整个积分空间分割成若干个子空间。这样积分问题,就转换为求和问题。求取定积分的最直观的方法是用梯形法,用直线将这些点连接起来,定积分近似为用这些折线和x轴间围成的面积。在MATLAB中,采用函数trapz()可以直接采用梯形法求解定积分的近似值。6.1.3利用矩形求面积函数cumsum()采用矩形法求解定积分的近似值。该函数的调用格式为:y=cumsum(X):该函数采用矩形法计算定积分的近似值。y=cumsum(X,DIM):在第DIM维来计算定积
3、分的近似值。6.1.4单变量数值积分求解在MATLAB中,采用函数quad()来求解定积分的数值解,该函数采用自适应变步长的方法。该函数的调用格式为:y=quad(Fun,a,b):求函数Fun的定积分,定积分的下限为a,定积分的上限为b。y=quad(Fun,a,b,):该函数的输入参数用来指定误差限,默认值为10-6。此外,还有函数quadl(),其调用格式和函数quad()完全一致,但是求解的精度和速度高于函数quad()。6.1.4双重积分求解在MATLAB中,可以通过函数dblquad()计算双重积分的数值解,双重积分的格式为:该函数的调用格式为:q=dblquad(Fun,
4、xm,xM,ym,yM):该函数计算矩形区域的双重积分。q=dblquad(Fun,xm,xM,ym,yM,):该函数限定双重积分的精度为。6.1.5三重定积分求解在MATLAB中,可以通过函数triplequad()计算三重积分的数值解,三重积分的格式为:q=dblquad(Fun,xm,xM,ym,yM,zm,zM):该函数计算三重积分。q=dblquad(Fun,xm,xM,ym,yM,zm,zM,tol):该函数的输入参数tol是积分的精度控制量,默认为10-6,为了提高计算的精度,可以选择更小的值。6.2常微分方程常微分方程(OrdinaryDifferentialEquati
5、on,ODE)求解是高等数学的基础内容,在实际中有广泛的应用。MATLAB提供了很多函数用于求解常微分方程,包括常微分方程的符号解和常微分方程的数值解。6.2.1常微分方程符号解在MATLAB中,采用函数dsolve()求解常微分方差的符号解。Dy表示一阶微分项,D2y表示二阶微分项。该函数的调用格式为:dsolve('equation'):该函数求微分方程的通解。dsolve('equation','condition'):该函数求微分方程的特解。dsolve('equation1','equation2',…,'condation1','condition2'):该函数求解微分方程组。
6、dsolve(…,'v'):该函数求解微分方程,并表示为v的函数。6.2.2常微分方程数值解对于大多数的微分方程,很难求出一般解,可以求满足规定精度的近似解,即数值解。在MATLAB2010a中,提供了常微分方程的7种解法,它们是函数ode45()、ode23()、ode113()、ode15s()、ode23s()、ode23t()、ode23tb()。6.3函数的极小值和零点求函数的最小值和零点是工程上常见的问题,在MATLAB中提供了一些函数能够用于求解函数的最小值和零点。对于求解最大值的问题,可以在原函数上乘以-1,然后求最小值。下面介绍如何求函数的极小值和零点。6.3.1一元函数
7、的最小值在MATLAB中,采用函数fminbnd()求解一元函数在给定的区间内的最小值,该函数的调用格式为:x=fminbnd(fun,x1,x2):该函数在区间[x1,x2]内寻找函数fun的最小值,fun为匿名函数或函数句柄,x为最小值的自变量取值。x=fminbnd(fun,x1,x2,options):该函数采用options进行优化器的设置。options可以采用函数optimset()来设置。[x,fval]