资源预览内容
第1页 / 共32页
第2页 / 共32页
第3页 / 共32页
第4页 / 共32页
第5页 / 共32页
第6页 / 共32页
第7页 / 共32页
第8页 / 共32页
第9页 / 共32页
第10页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
实验3 导数及偏导数运算实验目的:1. 进一步理解导数概念及几何意义;2. 学习Matlab的求导命令与求导法。l学习 Matlab 命令l导数概念l求一元函数的导数l求多元函数的偏导数l求高阶导数或高阶偏导数l求隐函数所确定函数的导数与偏导数实验内容:1. 学习Matlab命令建立符号变量命令 sym 和 syms 调用格式:x=sym(x)x=sym(x)建立符号变量 x;syms x y zsyms x y z建立多个符号变量 x,y,z;Matlab 求导命令 diffdiff 调用格式:diff(f(x)diff(f(x),求 的一阶导数 ;diff(f(x),n)diff(f(x),n),diff(f(xdiff(f(x,y), x)y), x),求 对 x 的一阶偏导数 ;diff(diff(函数函数f(xf(x,y),y),变量名变量名 x,n) x,n),求 对 x 的 n 阶偏导数 ;jacobian(f(x,y,z),g(x,y,z),h(x,y,z),x,jacobian(f(x,y,z),g(x,y,z),h(x,y,z),x,y,z)y,z)matlab 求雅可比矩阵命令 jacobian,调用格式: 2. 导数的概念导数为函数的变化率,其几何意义是曲线在一点处的切线斜率。1). 点导数是一个极限值例1 . 解:syms h; limit(exp(0+h)-exp(0)/h,h,0)ans=1 2). 导数的几何意义是曲线的切线斜率画出 在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)./h;x=-1:0.1:3;plot(x,exp(x),r);hold onfor i=1:5;plot(h(i),exp(h(i),r.)plot(x,a(i)*x+1)endaxis square作出y=exp(x)在x=0处的切线y=1+xplot(x,x+1,r)从图上看,随着M与P越来越接近,割线PM越来越接近曲线的割线. 3. 求一元函数的导数例3 . 1) y=f(x)的一阶导数解:输入指令syms x;dy_dx=diff(sin(x)/x)得结果: dy_dx=cos(x)/x-sin(x)/x2dy_dx=cos(x)/x-sin(x)/x2.pretty(dy_dx) cos(x) sin(x) - - - x 2 x在 matlab中,函数 lnx 用 log(x)表示, log10(x) 表示 lgx。例4解:输入指令syms x;dy_dx=diff(log(sin(x)得结果: dy_dx=cos(x)/sin(x)dy_dx=cos(x)/sin(x).例5解:输入指令syms x;dy_dx=diff(x2+2*x)20)得结果: dy_dx=20*(x2+2*x)19*(2*x+2).例6解:输入指令syms a x;a=diff(sqrt(x2-2*x+5),cos(x2)+2*cos(2*x),4(sin(x),log(log(x)Matlab 函数可以对矩阵或向量操作。a = 1/2/(x2-2*x+5)(1/2)*(2*x-2), -2*sin(x2)*x-4*sin(2*x), 4sin(x)*cos(x)*log(4), 1/x/log(x) 解: 输入命令2) 参数方程确定的函数的导数例7 dy_dx = sin(t)/(1-cos(t)syms a t;dx_dt=diff(a*(t-sin(t);dy_dt=diff(a*(1-cos(t); dy_dx=dy_dt/dx_dt.syms x y z;du_dx=diff(x2+y2+z2)(1/2),x)du_dy=diff(x2+y2+z2)(1/2),y) du_dz=diff(x2+y2+z2)(1/2),z)a=jacobian(x2+y2+z2)(1/2),x y,z)解:输入命令4. 求多元函数的偏导数例8du_dx=1/(x2+y2+z2)(1/2)*x du_dy =1/(x2+y2+z2)(1/2)*y du_dz = 1/(x2+y2+z2)(1/2)*z解: 输入命令syms x y;diff(atan(y/x),y) ans = -y/x2/(1+y2/x2)syms x y;diff(atan(y/x),x) ans = 1/x/(1+y2/x2)syms x y;Jacobian(atan(y/x),xy,x ,y) ans = -y/x2/(1+y2/x2), 1/x/(1+y2/x2) xy*y/x, xy*log(x)5. 求高阶导数或高阶偏导数例10syms x ;diff(x2*exp(2*x),x,20)解:输入命令ans = 99614720*exp(2*x)+20971520*x*exp(2*x)+1048576*x2*exp(2*x)例11syms x y ;dz_dx=diff(x6-3*y4+2*x2*y2,x,2)dz_dy=diff(x6-3*y4+2*x2*y2,y,2)dz_dxdy=diff(diff(x6-3*y4+2*x2*y2,x),y)解:输入命令 dz_dx = 30*x4+4*y2 dz_dy = -36*y2+4*x2 dz_dxdy =8*x*y6. 求隐函数所确定函数的导数或偏导数例12syms x y ;df_dx=diff(log(x)+exp(-y/x)-exp(1),x)df_dy=diff(log(x)+exp(-y/x)-exp(1),y)dy_dx=-df_dx/df_dy解:df_dx = 1/x+y/x2*exp(-y/x)df_dy = -1/x*exp(-y/x)dy_dx = -(-1/x-y/x2*exp(-y/x)*x/exp(-y/x)例13syms x y z;a=jacobian(sin(x*y)+cos(y*z)+tan(x*z),x,y,z)dz_dx=-a(1)/a(3)dz_dy=-a(2)/a(3)解:a = cos(x*y)*y+(1+tan(x*z)2)*z, cos(x*y)*x-sin(y*z)*z, -sin(y*z)*y+(1+tan(x*z)2)*xdz_dx =(-cos(x*y)*y-(1+tan(x*z)2)*z)/(-sin(y*z)*y+(1+tan(x*z)2)*x)dz_dy =(-cos(x*y)*x+sin(y*z)*z)/(-sin(y*z)*y+(1+tan(x*z)2)*x)输入命令:输入命令:syms x y z;f=(x2-2*x)*exp(-x2-y2-x*y)-z;pretty(-simple(diff(f,x)/diff(f,y);练习:
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号