积分和微分运算.ppt
第6章 积分和微分运算,积分和微分是微积分的重要内容,本章将对积分和微分的内容进行详细的介绍。积分包括单变量数值积分、双重积分和三重积分等。然后介绍了常微分方程的符号解和数值解。最后介绍了如何求函数的最小值和零点。,6.1 数值积分,MATLAB提供了一些进行定积分的专用函数,用户可以很方便的进行单变量数值积分、双重积分和三重积分等。下面将首先介绍定积分的概念,然后对这些函数进行详细的介绍。,6.1.1 定积分概念,函数f(x)在区间a,b上的定积分,记作:其中f(x)称为被积函数,f(x)dx称为被积表达式,x称为积分变量,a称为积分下限,b称为积分上限,区间a,b称为积分区间。,6.1.2 利用梯形求面积,求解定积分的数值方法有很多,例如简单的梯形法、Simpson法和Romberg法等等都是数值分析课程中经常介绍的方法。它们的基本思想是将整个积分空间分割成若干个子空间。这样积分问题,就转换为求和问题。求取定积分的最直观的方法是用梯形法,用直线将这些点连接起来,定积分近似为用这些折线和x轴间围成的面积。在MATLAB中,采用函数trapz()可以直接采用梯形法求解定积分的近似值。,6.1.3 利用矩形求面积,函数cumsum()采用矩形法求解定积分的近似值。该函数的调用格式为:y=cumsum(X):该函数采用矩形法计算定积分的近似值。y=cumsum(X,DIM):在第DIM维来计算定积分的近似值。,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,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 常微分方程,常微分方程(Ordinary Differential Equation,ODE)求解是高等数学的基础内容,在实际中有广泛的应用。MATLAB提供了很多函数用于求解常微分方程,包括常微分方程的符号解和常微分方程的数值解。,6.2.1 常微分方程符号解,在MATLAB中,采用函数dsolve()求解常微分方差的符号解。Dy表示一阶微分项,D2y表示二阶微分项。该函数的调用格式为:dsolve(equation):该函数求微分方程的通解。dsolve(equation,condition):该函数求微分方程的特解。dsolve(equation1,equation2,condation1,condition2):该函数求解微分方程组。dsolve(,v):该函数求解微分方程,并表示为v的函数。,6.2.2 常微分方程数值解,对于大多数的微分方程,很难求出一般解,可以求满足规定精度的近似解,即数值解。在MATLAB 2010a中,提供了常微分方程的7种解法,它们是函数ode45()、ode23()、ode113()、ode15s()、ode23s()、ode23t()、ode23tb()。,6.3 函数的极小值和零点,求函数的最小值和零点是工程上常见的问题,在MATLAB中提供了一些函数能够用于求解函数的最小值和零点。对于求解最大值的问题,可以在原函数上乘以-1,然后求最小值。下面介绍如何求函数的极小值和零点。,6.3.1 一元函数的最小值,在MATLAB中,采用函数fminbnd()求解一元函数在给定的区间内的最小值,该函数的调用格式为:x=fminbnd(fun,x1,x2):该函数在区间x1,x2内寻找函数fun的最小值,fun为匿名函数或函数句柄,x为最小值的自变量取值。x=fminbnd(fun,x1,x2,options):该函数采用options进行优化器的设置。options可以采用函数optimset()来设置。x,fval=fminbnd():该函数返回输出变量最小值fval。,6.3.2 多元函数的最小值,在MATLAB中,采用函数fminsearch()求多元函数的最小值。该函数需要指定一个起始点x0,然后得到在点x0附近的局部最小值。该函数的调用格式为:x=fminsearch(fun,x0):该函数获取函数fun在x0点附近的最小值点,x为最小值的自变量的取值。x=fminsearch(fun,x0,options):该函数通过options对优化器的参数进行设置。x,fval=fminsearch():该函数返回最小值fval。,6.3.3 一元函数的零点,在MATLAB中,利用函数fzero()求一元函数的零点。用户可以指定一个区间或开始点。如果用户知道函数零点所在的区间,则可以使用一个包含两个元素的向量来指定区间。如果不知道取零点的区间,也可以指定一个开始点,函数在开始点附近寻找使函数值改变符号的区间,如果没有找到这样的区间,则返回值为NaN。x=fzero(fun,x0):该函数求一元函数fun的零点,返回值为零点的自变量的值。x=fzero(fun,x0,options):该函数通过options对优化器的参数进行设置。x,fval=fzero():该函数输出自变量为x时的函数值。,6.4 本章小结,本章详细的介绍了利用MATLAB进行积分和微分运算,积分和微分运算是高等数学的核心内容。积分包括单变量积分、双重积分和三重积分。利用MATLAB可以非常方便的进行积分和微分运算。最后介绍了如何求函数的最小值和零点。,