资源描述:
《matlab详解导数及偏导数运算》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验3导数及偏导数运算实验目的:1.进一步理解导数概念及几何意义;2.学习Matlab的求导命令与求导法。学习Matlab命令导数概念求一元函数的导数求多元函数的偏导数求高阶导数或高阶偏导数求隐函数所确定函数的导数与偏导数实验内容:1.学习Matlab命令建立符号变量命令sym和syms调用格式:x=sym(‘x’)建立符号变量x;symsxyz建立多个符号变量x,y,z;Matlab求导命令diff调用格式:diff(f(x)),求的一阶导数;diff(f(x),n),diff(f(x,y),x),求对x的一阶偏导数;diff(函数f(x,y),变量名x,n),求对x的n阶偏导数;ja
2、cobian([f(x,y,z),g(x,y,z),h(x,y,z)],[x,y,z])matlab求雅可比矩阵命令jacobian,调用格式:2.导数的概念导数为函数的变化率,其几何意义是曲线在一点处的切线斜率。1).点导数是一个极限值例1.解:symsh;limit((exp(0+h)-exp(0))/h,h,0)ans=12).导数的几何意义是曲线的切线斜率画出在x=0处(P(0,1))的切线及若干条割线,观察割线的变化趋势.例2解:在曲线上另取一点,则PM的方程是:即取h=3,2,1,0.1,0.01,分别作出几条割线.h=[3,2,1,0.1,0.01];a=(exp(h)-1
3、)./h;x=-1:0.1:3;plot(x,exp(x),'r');holdonfori=1:5;plot(h(i),exp(h(i)),'r.')plot(x,a(i)*x+1)endaxissquare作出y=exp(x)在x=0处的切线y=1+xplot(x,x+1,’r’)从图上看,随着M与P越来越接近,割线PM越来越接近曲线的割线.3.求一元函数的导数例3.1)y=f(x)的一阶导数解:输入指令symsx;dy_dx=diff(sin(x)/x)得结果:dy_dx=cos(x)/x-sin(x)/x^2.pretty(dy_dx)cos(x)sin(x)-----------
4、--x2x在matlab中,函数lnx用log(x)表示,log10(x)表示lgx。例4解:输入指令symsx;dy_dx=diff(log(sin(x)))得结果:dy_dx=cos(x)/sin(x).例5解:输入指令symsx;dy_dx=diff((x^2+2*x)^20)得结果:dy_dx=20*(x^2+2*x)^19*(2*x+2).例6解:输入指令symsax;a=diff([sqrt(x^2-2*x+5),cos(x^2)+2*cos(2*x),4^(sin(x)),log(log(x))])Matlab函数可以对矩阵或向量操作。a=[1/2/(x^2-2*x+5)^
5、(1/2)*(2*x-2),-2*sin(x^2)*x-4*sin(2*x),4^sin(x)*cos(x)*log(4),1/x/log(x)]解:输入命令2)参数方程确定的函数的导数例7dy_dx=sin(t)/(1-cos(t))symsat;dx_dt=diff(a*(t-sin(t)));dy_dt=diff(a*(1-cos(t)));dy_dx=dy_dt/dx_dt.symsxyz;du_dx=diff((x^2+y^2+z^2)^(1/2),x)du_dy=diff((x^2+y^2+z^2)^(1/2),y)du_dz=diff((x^2+y^2+z^2)^(1/2)
6、,z)a=jacobian((x^2+y^2+z^2)^(1/2),[xy,z])解:输入命令4.求多元函数的偏导数例8du_dx=1/(x^2+y^2+z^2)^(1/2)*xdu_dy=1/(x^2+y^2+z^2)^(1/2)*ydu_dz=1/(x^2+y^2+z^2)^(1/2)*z解:输入命令symsxy;diff(atan(y/x),y)ans=-y/x^2/(1+y^2/x^2)symsxy;diff(atan(y/x),x)ans=1/x/(1+y^2/x^2)symsxy;Jacobian([atan(y/x),x^y],[x,y])ans=[-y/x^2/(1+y^
7、2/x^2),1/x/(1+y^2/x^2)][x^y*y/x,x^y*log(x)]5.求高阶导数或高阶偏导数例10symsx;diff(x^2*exp(2*x),x,20)解:输入命令ans=99614720*exp(2*x)+20971520*x*exp(2*x)+1048576*x^2*exp(2*x)例11symsxy;dz_dx=diff(x^6-3*y^4+2*x^2*y^2,x,2)dz_dy=diff(x^6-3*