nullnull实验3 导数及偏导数运算null实验目的:1. 进一步理解导数概念及几何意义;2. 学习Matlab的求导命令与求导法。null学习 Matlab 命令
导数概念
求一元函数的导数
求多元函数的偏导数
求高阶导数或高阶偏导数
求隐函数所确定函数的导数与偏导数实验内容:null1. 学习Matlab命令建立符号变量命令 sym 和 syms 调用格式:x=sym(‘x’)建立符号变量 x;syms x y z建立多个符号变量 x,y,z;nullMatlab 求导命令 diff 调用格式:diff(f(x)),diff(f(x),n),diff(f(x,y), x),nulldiff(函数f(x,y),变量名 x,n),jacobian([f(x,y,z),g(x,y,z),h(x,y,z)],[x,y,z])matlab 求雅可比矩阵命令 jacobian,调用格式: nullnull2. 导数的概念导数为函数的变化率,其几何意义是曲线在一点处的切线斜率。1). 点导数是一个极限值null例1 . 解:syms h; limit((exp(0+h)-exp(0))/h,h,0)ans=1 null2). 导数的几何意义是曲线的切线斜率画出 在x=0处(P(0,1))的切线及若
干条割线,观察割线的变化趋势.例2解:在曲线 上另取一点 ,
则PM的方程是:即null取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 on
for i=1:5;
plot(h(i),exp(h(i)),'r.')
plot(x,a(i)*x+1)
end
axis square作出y=exp(x)在x=0处的切线y=1+xplot(x,x+1,’r’)null从图上看,随着M与P越来越接近,割线PM越来越接
近曲线的割线. null3. 求一元函数的导数例3 . 1) y=f(x)的一阶导数解:输入指令syms x;
dy_dx=diff(sin(x)/x)得结果:
dy_dx=cos(x)/x-sin(x)/x^2.pretty(dy_dx)
cos(x) sin(x)
------ - ------
x 2
xnull在 matlab中,函数 lnx 用 log(x)表示, log10(x) 表示 lgx。例4解:输入指令syms x;
dy_dx=diff(log(sin(x)))得结果:
dy_dx=cos(x)/sin(x).null例5解:输入指令syms x;
dy_dx=diff((x^2+2*x)^20)得结果:
dy_dx=20*(x^2+2*x)^19*(2*x+2).null例6解:输入指令syms a x;
a=diff([sqrt(x^2-2*x+5),cos(x^2)+2*cos(2*x),
4^(sin(x)),log(log(x))])Matlab 函数可以对矩阵或向量操作。nulla =
[ 1/2/(x^2-2*x+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)]
null解:输入命令2) 参数方程确定的函数的导数例7 nulldy_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.nullsyms x y z;
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),z)
a=jacobian((x^2+y^2+z^2)^(1/2),[x y,z])解:输入命令4. 求多元函数的偏导数例8nulldu_dx=1/(x^2+y^2+z^2)^(1/2)*x
du_dy =1/(x^2+y^2+z^2)^(1/2)*y
du_dz = 1/(x^2+y^2+z^2)^(1/2)*znull解:输入命令syms x y;
diff(atan(y/x),y) ans =
-y/x^2/(1+y^2/x^2)syms x y;
diff(atan(y/x),x) ans =
1/x/(1+y^2/x^2)nullsyms x y;
Jacobian([atan(y/x),x^y],[x ,y]) ans =
[ -y/x^2/(1+y^2/x^2), 1/x/(1+y^2/x^2)]
[ x^y*y/x, x^y*log(x)]null5. 求高阶导数或高阶偏导数例10syms x ;
diff(x^2*exp(2*x),x,20)解:输入命令ans =
99614720*exp(2*x)+20971520*x*exp(2*x)+1048576*x^2*exp(2*x)null例11syms x y ;
dz_dx=diff(x^6-3*y^4+2*x^2*y^2,x,2)
dz_dy=diff(x^6-3*y^4+2*x^2*y^2,y,2)
dz_dxdy=diff(diff(x^6-3*y^4+2*x^2*y^2,x),y)解:输入命令 dz_dx = 30*x^4+4*y^2
dz_dy = -36*y^2+4*x^2
dz_dxdy =8*x*ynull6. 求隐函数所确定函数的导数或偏导数null例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/x^2*exp(-y/x)
df_dy = -1/x*exp(-y/x)
dy_dx = -(-1/x-y/x^2*exp(-y/x))*x/exp(-y/x)null例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)*x]
dz_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)null输入命令:syms x y z;
f=(x^2-2*x)*exp(-x^2-y^2-x*y)-z;
pretty(-simple(diff(f,x))/diff(f,y));null练习:nullnull
本文档为【导数及偏导数运算】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。