找回密码
 注册
关于网站域名变更的通知
查看: 561|回复: 1
打印 上一主题 下一主题

matlab求解普通函数的导数问题(diff函数的用法)

[复制链接]
  • TA的每日心情

    2019-11-19 15:32
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2021-1-25 18:25 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    目录: a5 t! l# J. ?5 ]' b4 f
    一元函数的导数
    & c1 V! ~, }, L# w1 hMATLAB函数语法
    % O% q4 e! f. {应用举例3 w* Q8 B% i5 p& k/ T- V* L1 y3 h
    例1 :普通函数求导3 J* Y: B7 L# |
    例2 :复合泛函求导
    + W& ~* |  ?: M例3 :矩阵函数求导$ b* e( o7 w5 i, \( B' E; S
    多元函数的偏导数
    % e4 g6 O! E3 L% aMATLAB函数语法
    " f9 c& W9 M2 q$ W. w应用举例
    ( J  ^- m$ d9 ^" J. @例1 :求偏导并绘图  g" k+ M1 _  K% Q: a- Q' F
    例2 :三元函数求偏导) ^8 \' O! E* x# E/ J2 J9 o  n

    # h; o5 m$ T4 K( I! I一元函数的导数" U3 I% t/ o0 O+ v5 b& q% N
    MATLAB函数语法: Z, w7 N- d3 i! p
    • y = diff(fun, x)        % // 函数fun的一阶导数
    • y = diff(fun, x, n)     % // 函数fun的 n阶导数. J/ t/ A, q( \4 d% R( f
    . \) E+ p. Z% X

    " N. U& w1 ?6 P+ c# w  a注:自变量为唯一符号变量时,可以省去 x x x。
    2 S. ?* d0 z4 K" A' t
    3 K: z6 i' e2 h" `应用举例
    + M8 k! y+ _$ z4 Z; |2 V: q例1 :普通函数求导2 t; q8 I' y( z
    给定函数
    4 p: w: {4 i8 x% Y ) B1 D8 D  A/ y6 C& p0 i( ^
    ​        
    & {3 G  j/ Q' C( h8 Q分别求其一阶导数和四阶导数,并绘制原函数和一阶导数的图像,计算求解50阶导数时所用的时间。1 t! ], S) a$ S# h
    . A5 ]5 x* c# O* }) f" V
    • syms x; f=sin(x)/(x^2+4*x+3); f1=diff(f)
    • ezplot(f,[0,5]), hold on; ezplot(f1,[0,5])
    • f4 = diff(f,x,4)
    • f41 = collect(simplify(f4),sin(x))
    • f42 = collect(simplify(f4),cos(x))
    • tic, diff(f,x,50); toc5 Y! A# H/ Z& `  Y1 U9 K' c, Y2 H

      s# |. c- y- P7 n- d& \0 i7 G
    ) F; S$ ^2 U( e' a) ^  f根据结果可知diff函数的效率较高。3 x  L7 i. h0 _

    , K5 n2 [; |" }例2 :复合泛函求导3 s4 D! E% X  [$ a( \$ [
    已知函数 ,推导其三阶导数公式。
    # @  Y8 s+ ?9 c" Y( r3 v2 [7 D8 g  S, D/ }1 m( W' q3 K8 p
    分析:该题难点为如何定义 f ( t )0 b0 j* A+ u% W9 ?

    / q$ N* o( X3 h: U8 H4 m
    • syms t f(t)
    • G = simplify(diff(t^2*sin(t)*f,t,3))
      5 H# U) d  g4 r" ]! G
    6 ~0 t) U5 O- W+ @( j
    " a( E' o; s" z8 C, y& ~: c
    时, F ( t ) 的三阶导数为
    ' {5 [0 `3 C/ j' W/ g0 i8 \' X6 ]! Z9 h
    • G0 = simplify(subs(G,f,exp(-t)))
    • err = simplify(diff(t^2*sin(t)*exp(-t),3)-G0)2 ~2 R. t3 L0 z7 R( Y

    2 r9 T' n, S  L0 [
    * R2 K% l: p) p例3 :矩阵函数求导" k9 u+ u$ O6 g* T% o1 I  f' D; D
    2 E* e3 I+ ~0 C. p$ x* }0 a& B6 `

    % d, y4 A$ O; R$ L; ~6 Y对每个矩阵元素直接求导$ |( o2 \5 k" z( q
    " n4 U  i" r  \! t' a( i
    • syms x;
    • H=[4*sin(5*x), exp(-4*x^2); 3*x^2+4*x+1, sqrt(4*x^2+2)],
    • H1=diff(H,x,3)5 J2 l" D; @4 V4 q, P
    ' C- H6 \* J' C4 v* c  y
    ' i% z( E- O( Z! V2 o+ ~/ x) d
    多元函数的偏导数
    7 V6 h" w4 h' o! FMATLAB函数语法
    & M& \$ x) {6 {/ r; k高阶偏导数
    0 ?4 t' i* f  A0 y% v " j' E/ ]: i! K" V$ p
    的求法
    : C( l4 w1 j+ D: P: L7 s; E8 b1 D( \/ B; F; L& p% H
    • y = diff(diff(fun, x, m), y, n)
    • y = diff(diff(fun, y, n), x, m): U# C3 _: i8 B  ^
    6 A9 ^; S4 X" v

    : B- c7 a+ f! L( D' u应用举例
      U7 C$ g: h' c% E例1 :求偏导并绘图
    % `) f. Z' T4 j( G( r% z求函数 的一阶偏导 ,并绘图。$ J5 f0 z5 Q- A9 D
    / w& }0 r: @% K0 X) E% j* a
    • 求偏导数0 ^9 u4 _$ Z. D. u( L
    • syms x y
    • z  = (x^2-2*x)*exp(-x^2-y^2-x*y);
    • zx = simplify(diff(z,x))
    • zy = simplify(diff(z,y))6 _$ D3 Y* I8 M: z( j
    * O9 Z4 ^. M4 h

    - E1 p; H1 p4 K$ _& C
    • 绘制三维曲面
      # \, r+ z  b8 G3 H) Q/ N
    • [x0,y0] = meshgrid(-3:.2:2,-2:.2:2);
    • z0 = double(subs(z,{x,y},{x0,y0}));
    • suRF(x0,y0,z0), zlim([-0.7 1.5])
      6 B% b) H, h8 l! r6 j' Z

    # W0 f9 \5 p' J5 E3 B8 E$ J . |( i+ m0 W  j6 D( I8 [2 w* |

    % x- ^5 {+ t6 R+ J7 k% R, A% K4 ^) Z. |5 ?; E/ H
    • 绘制引力线(负梯度)( w8 g/ v. @1 k# g
    • contour(x0,y0,z0,30), hold on
    • zx0 = subs(zx,{x,y},{x0,y0});
    • zy0 = subs(zy,{x,y},{x0,y0});
    • quiver(x0,y0,-zx0,-zy0)
      * y5 ^- l% f( i; b

    0 q+ B5 m$ `4 y( r / A8 P; s- F6 W# D( |( g0 _

    - c! O! E2 r$ _# J: W8 G6 R6 [, J: y  y5 J- k1 c; K3 d
    例2 :三元函数求偏导
      a8 l+ o' P( E8 q( T- m, ^求函数 的偏导数 " {9 X( \4 M  p' A9 q6 p
    • syms x y z
    • f  = sin(x^2*y)*exp(-x^2*y-z^2);
    • df = diff(diff(diff(f,x,2),y),z);
    • df = simplify(df)
      ; b, e$ w/ O9 e6 g6 {
    4 v( X# C+ x% d# [  I; _& D+ ~
    ' d$ P4 V. t& D' u$ ?& e1 _
  • TA的每日心情

    2019-11-29 15:37
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2021-1-25 18:45 | 只看该作者
    matlab求解普通函数的导数问题(diff函数的用法)
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-11-24 01:39 , Processed in 0.156250 second(s), 27 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表