Matlab 详解导数及偏导数运算
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
xi x j
x
j
xi
f ( x1, x2 ,, xn ) f ( x1, x2 ,, xn )
例12
设
ln
x
y
ex
e,求
dy
;
解: F
(
x,
y)
ln
x
e
y x
dx
e,先求 Fx
,
再求
Fy
,
dy Fx dx Fy
syms 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
。
y 4t
y t arctan t
3. 求下列隐函数的导数
1) arctan y ln x2 y2 ; x
4. 设 y e x cos x,求 y(4);
2) x y y x;
5. 验证 y e x sin x满足关系式 y 2 y 2 y 0;
建立符号变量命令 sym 和 syms 调用格式:
x=sym(‘x’) 建立符号变量 x;
syms x y z
建立多个符号变量 x,y,z;
Matlab 求导命令 diff 调用格式:
diff(f(x)),
求 f ( x)的一阶导数 f ( x);
diff(f(x),n), 求 f ( x) 的 n 阶导数 f (n)( x);
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)
例14 对二元函数 z ( x2 2 x)e x2 y2 xy ,求 y ; x
输入命令:
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));
a=
z Fy y Fz
[ cos(x*y)*y+(1+tan(x*z)^2)*z, cos(x*y)*xsin(y*z)*z, -sin(y*z)*y+(1+tan(x*z)^2)*x]
z Fx
dz_dx =
x Fz
(-cos(x*y)*y-(1+tan(x*z)^2)*z)/(-
例 9 求下列函数的偏导数 z1 arctan( y / x);z2 x y。 解: 输入命令
syms x y; diff(atan(y/x),x)
ans = -y/x^2/(1+y^2/x^2)
syms x y; diff(atan(y/x),y)
ans = 1/x/(1+y^2/x^2)
5. 求高阶导数或高阶偏导数 例10 设 f ( x) x2e2x,求 f (20)( x) ;
解:输入命令 syms x ; diff(x^2*exp(2*x),x,20)
例11
设
z
x6
3 y4
2x2 y2,求
2z x 2
,
2z y2
,
2z xy
;
解:输入命令
syms 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)
解: f ( x) 在某一点 x0 的导数定义为极限
lim f ( x0 x) f ( x0 )
x0
x
我们记 h x,输入命令:
syms h; limit((exp(0+h)-exp(0))/h,h,0)
ans=1 可知结果 f (0) 1。
2). 导数的几何意义是曲线的切线斜率
plot(x,x+1,’r’)
从图上看,随着M与P越来越接近,割线PM越来越接 近曲线的割线.
3. 求一元函数的导数
1) y=f(x)的一阶导数
例3 . 求 y sin x 的导数; x
解: 输入指令
pretty(dy_dx)
syms x; dy_dx=diff(sin(x)/x)
cos(x) sin(x) ------ - ------
x2
得结果:
x
dy_dx=cos(x)/x-sin(x)/x^2.
例4 求 y ln(sin x) 的导数;
解: 输入指令
syms x; dy_dx=diff(log(sin(x)))
得结果: dy_dx=cos(x)/sin(x).
在 matlab中,函数 lnx 用 log(x)表示, log10(x) 表示 lgx。
du_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)*z
u
xห้องสมุดไป่ตู้
x x2 y2 z2
u
z
z x2 y2 z2
u
y
y x2 y2 z2
实验3 导数及偏导数运算
实验目的:
1. 进一步理解导数概念及几何意义; 2. 学习Matlab的求导命令与求导法。
实验内容:
学习 Matlab 命令 导数概念 求一元函数的导数 求多元函数的偏导数 求高阶导数或高阶偏导数 求隐函数所确定函数的导数与偏导数
1. 学习Matlab命令
例5 求 y ( x2 2x)20 的导数;
解: 输入指令
syms x; dy_dx=diff((x^2+2*x)^20)
得结果: dy_dx=20*(x^2+2*x)^19*(2*x+2).
例6 求下列函数的的导数: y1 x2 2 x 5; y2 cos x2 2cos 2x; y3 4sin x; y4 ln ln x.
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+x
syms 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)]
J
z1 x z2 x
z1 y
z2 y
dz_dx = 30*x^4+4*y^2 z 30x4 4 y2 , z 36 y2 4x2
dz_dy = -36*y^2+4*x^2 x
y
dz_dxdy =8*x*y
2z 8xy xy
6. 求隐函数所确定函数的导数或偏导数
已知隐函数方程
f ( x1, x2 ,, xn ) 0 则
2) 参数方程确定的函数的导数
设参数方程
x y
x(t) 所确定的函数 y
y(t )
f (x),
则 y f ( x)的导数 dy y(t)。 dx x(t)
例7
设
x y
a(t a(1
sin t),求 cos t)
dy dx
;
解: 输入命令
syms a t; dx_dt=diff(a*(t-sin(t)));dy_dt=diff(a*(1-cos(t))); dy_dx=dy_dt/dx_dt.
解: F ( x, y, z) sin( xy) cos( yz) tan( xz),
syms x y z;
a=jacobian(sin(x*y)+cos(y*z)+tan(x*z),[x,y,z]) (Fx , Fy , Fz )
dz_dx=-a(1)/a(3) dz_dy=-a(2)/a(3)
diff(f(x,y), x),
求 f ( x, y) 对 x 的一阶偏导数 f ; x
diff(函数f(x,y),变量名 x,n), 求 f ( x, y) 对 x 的 n 阶偏导数 n f ;
x n matlab 求雅可比矩阵命令 jacobian,调用 格式:
jacobian([f(x,y,z),g(x,y,z),h(x,y,z)],[x,y,z])
f f f x y z
g g g
x h
x
y h
y
z h
z
2. 导数的概念
导数为函数的变化率,其几何意义是曲线在一 点处的切线斜率。
1). 点导数是一个极限值
例1 . 设函数 f ( x) e x,用定义计算 f (0);
解: 输入指令
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 函数可以对矩阵或向量操作。
a= [ 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)]
例2 画出 f ( x) e x 在x=0处(P(0,1))的切线及若
干条割线,观察割线的变化趋势.
解:在曲线 f ( x) e x 上另取一点M (h,eh ) ,
则PM的方程是: y 1 eh 1 x0 h0
即 y eh 1 x 1 h
取h=3,2,1,0.1,0.01,分别作出几条割线.
dy_dx = sin(t)/(1-cos(t))
4. 求多元函数的偏导数
例8 设 u x2 y2 z2,求 u 的一阶偏导数;
解:输入命令
syms 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])
9. 证明函数 u ln ( x a)2 ( y b)2 (a,b 为常数)满
足 Laplace 方程
2u x 2
2u y2
0(对结果用
simplify
化简)
2019SUCCESS
POWERPOINT
2019/6/3
2019SUCCESS
THANK YOU
2019/6/3
6. 求下列函数的偏导数
1) z x2 sin( xy);
2) u
x z
;
y
7.
设u
x ln( x
y),
求
2u x 2
,
2u y2
,
2u xy
;
8. 求下列多元函数的偏导数 z , z , x y
1) cos2 x cos2 y cos2 z 1; 2) ez xyz;
练习:
1. 求下列函数的导数
1) y ( x 1)( 1 1); 2) y x sin x ln x; x
3)
y
2sin 2
1 x2
;
4) y ln( x x2 a2 );
2 求下列参数方程所确定的函数的导数
1)
x
t
4
;
2)
x ln(1 t 2 )
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)
例13
设 sin( xy) cos( yz) tan(xz) 0,求 z , z ; x y