资源描述:
《利用MATLAB求解微积分的方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第3章(1)MATLAB微积分极限与级数的符号运算ØMATLAB的极限与级数运算在符号系统中进行u极限运算llimit(f,x,a)求符号函数f的极限llimit(f,x,a,’right’)求符号函数f的右极限llimit(f,x,a,’left’)求符号函数f的左极限Ø说明:上述命令中的a可以是无穷大inf或-infp说明:多元函数的极限需要使用累次极限来计算Ø举例u级数运算lsymsum(an,n,i,j)求符号通项an的和其中,当j为无穷大inf时,即为无穷级数。Ø举例u级数运算ltaylor(f,n,a,x)求符号函数f在点a关于变量x的n-1阶泰勒多项式Ø举例
2、ltaylortool泰勒工具Ø举例微积分的符号运算u导函数与偏导函数-6-ldiff(f,x)求符号函数f对x的一阶导函数或偏导函数ldiff(f,x,n)求符号函数f对x的n阶导函数或偏导函数l注:diff是differential(微分)的缩写Ø例:计算n问:如何求符号函数在给定点的导数值或偏导数值?求完导函数或偏导函数之后,使用符号替换命令subs可以求得导函数值或偏导函数值u不定积分与定积分lint(f,x)求符号函数f关于变量x的不定积分l注:int是integration(积分)的缩写lint(f,x,a,b)求符号函数f关于变量x的定积分,a、b分别是积分
3、下限和上限,a、b可以是函数表达式,也可以是无穷大inf或-infØ举例l对于定积分,当系统求不出精确解时,如果被积函数中不含待定符号,可以使用vpa命令给出近似解例如:ØsymsxØa=int(sin(sin(x)),1,2)Øvpa(a)p说明:l参数方程求导和隐函数求导需要使用相关数学公式(见教材66-67-6-页)l重积分、曲线积分与曲面积分需要使用数学方法转化为累次积分来计算微积分的数值运算u微积分的数值运算特点Ø采用数值算法,主要用于解决导数和定积分的近似计算问题Ø还可以解决离散数据的相关计算问题l实例:某河床的横断面如图所示,试根据图示的测量数据(单位:m)
4、,计算各测量点的坡度和横断面的面积。04101215222834401368953u数值导数lgradient(f,x)Ø该命令求一元函数f的数值导数f’(x)Ø其中,x是自变量的一组取值(离散数据),f是因变量的对应取值(离散数据),计算结果是各离散数据点的导数值(近似解)。p说明:Øx的取值越密集,得到的导数值就越精确。Ø该命令常用于求解离散型数据的变化率。l例:计算前例中的坡度x=[0,4,10,12,15,22,28,34,40];-6-f=[0,-1,-3,-6,-8,-9,-5,-3,0];fx=gradient(f,x)l例:求函数y=x2sinx在区间[-
5、3,3]的一阶和二阶数值导数,作出原函数与一、二阶导函数的图形,并观察函数的单调性、凹凸性、极值、拐点与一、二阶导数之间的关系。Øx=-3:0.01:3;f=x.^2.*sin(x);Øfx=gradient(f,x)Øfxx=gradient(fx,x)Øplot(x,f,x,fx,'r--',x,fxx,'k--'),gridonp思考:怎样求函数在指定点的数值导数?比如:上面函数在x=1.5和x=1.501的数值导数是多少?Øf(find(x==1.5))或者f(x==1.5)Ø一般方法:[p,q]=min(abs(x-x0));f(q)u数值偏导数l[fx,fy]
6、=gradient(f,x,y)Ø该命令求二元函数f的数值偏导数f’x和f’yØ其中,x,y分别是自变量x和y的一组取值(向量表示);f是定义在x-y平面点集区域上的函数值(矩阵表示),平面点集区域可以使用meshgrid命令生成;fx和fy分别得到每个点处偏x和偏y的偏导数值(矩阵表示)。p说明:x和y的取值越密集,得到的偏导数值就越精确;该命令常用于求解离散型数据的方向导数、梯度、散度、旋度等。l举例u数值定积分l梯形法数值积分:trapz(x,y)Ø其中x表示自变量在积分区间的一组取值,y表示被积函数对应于x的一组函数值。l例:计算前面例题中的横断面积-6-x=[0
7、,4,10,12,15,22,28,34,40];y=[0,1,3,6,8,9,5,3,0];s=trapz(x,y)l例:求积分Ø解:x=-1:0.1:1;y=exp(-x.^2);trapz(x,y)l高精度数值积分:quad(f,a,b)或quadl(f,a,b)Ø求函数f在区间[a,b]上的定积分,其中:f使用字符串函数表达式或内联函数,定义函数的乘、除、乘方时要使用点运算。积分限a、b必须是常量。Øquad采用自适应步长Simpson积分法Øquadl采用高精度Lobatto积分法l例求积分Ø解:z=quadl('e