MATLAB编程与工程应用——MATLAB数值积分与微分.PPT
文本预览下载声明
第8章 MATLAB数值积分与微分 第8章 MATLAB数值积分与微分 第8章 MATLAB数值积分与微分 8.1 数值积分 8.2 数值微分 第8章 MATLAB数值积分与微分 8.1 数值积分 一、数值积分基本原理 求解定积分的数值方法多种多样,如简单的梯形法、辛普生(Simpson)法、牛顿-柯特斯(Newton-Cotes)法等都是经常采用的方法。 它们的基本思想都是将整个积分区间[a,b]分成n个子区间[xi,xi+1],i=1,2,…,n,其中x1=a,xn+1=b。这样求定积分问题就分解为求和问题。 第8章 MATLAB数值积分与微分 8.1 数值积分 二、数值积分的实现方法 1.变步长辛普生法 [I,n]=quad(fname,a,b,tol,trace) fname是被积函数名。 a和b分别是定积分的下限和上限。 tol用来控制积分精度,缺省时取tol=0.001。 trace控制是否展现积分过程,若取非0则展现积分过程,取0则不展现,缺省时取trace=0。 I为定积分值 n为被积函数的调用次数。 例8.1 求funx在[0,1]上的定积分。 exp8_1.m 第8章 MATLAB数值积分与微分 二、数值积分的实现方法 2.牛顿-柯特斯法 [I,n]=quadl(fname,a,b,tol,trace) 其中参数的含义和quad函数相似, 只是tol的缺省值取10-6。 该函数可以更精确地求出定积分的值,且一般情况下函数调用的步数明显小于quad函数,从而保证能以更高的效率求出所需的定积分值。 例8.2 求funx在[0,1]上的定积分。 exp8_2.m 第8章 MATLAB数值积分与微分 二、数值积分的实现方法 3.表格函数数值积分 T = trapz(y) 用等距梯形法近似计算Y的积分。 若Y是一向量,则trapz(y)为y的积分; 若Y是一矩阵,则trapz(y)为y的每一列的积分; T = trapz(x,y) 用梯形法计算y在x点上的积分。要求x,y为同维的向量,表示函数关系 例:求表格函数数值积分。 exp8_3.m 第8章 MATLAB数值积分与微分 8.1 数值积分 三、二元函数重积分的数值计算 1.矩形区域上的二重积分的数值计算 q = dblquad(fname,xmin,xmax,ymin,ymax,tol,trace) 调用函数quad在区域[xmin,xmax, ymin,ymax]上计算二元函数z=fname(x,y)的二重积分。 参数tol,trace的用法与函数quad完全相同。 例8.4 求下面函数在[-2 2 –1 1]上的积分。 fxy.m exp8_4.m 第8章 MATLAB数值积分与微分 三、二元函数重积分的数值计算 2. 任意区域上二元函数的数值积分(数值积分工具箱) q=quad2dggen (fname,xlower,xupper,ymin,ymax,tol,trace) 在由[xlower,xupper, ymin,ymax]指定的区域上计算二元函数z=f(x,y)的二重积分 例8.5计算单位圆域上的积分: 解:先把二重积分转化为二次积分的形式,再使用quad2dggen函数计算。exp8_5.m 第8章 MATLAB数值积分与微分 8.2 数值微分 DX=diff(X) 计算向量X的向前差分,DX(i)=X(i+1)-X(i),i=1,2,…,n-1。 DX=diff(X,n) 计算X的n阶向前差分。例如,diff(X,2)=diff(diff(X)) DX=diff(A,n,dim) 计算矩阵A的n阶差分,dim=1时(缺省状态),按列计算差分;dim=2,按行计算差分。 例8.6 生成以向量V=[1,2,3,4,5,6]为基础的范得蒙矩阵,按列进行差分运算。 exp8_6.m 第8章 MATLAB数值积分与微分
显示全部