加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

符号函数的微分(求导)在Matlab中实现

(2011-05-13 05:49:16)
标签:

杂谈



MATLAB软件提供求函数导数的指令是diff,具体使用格式如下:

(1)diff(f, x) 表示对f(这里f是一个函数表达式)求关于符号变量x的一阶导数.若x缺省,则表示求f对预设独立变量的一阶导数.

(2)diff(f, x, n) 表示对f求关于符号变量x的n阶导数.若x缺省,则表示求f对预设独立变量的n阶导数.

http://s16/middle/5b5a25e9ga31b55f908cf&690
http://s6/middle/5b5a25e9ga31cffa7e5e5&690 

例1 ax2+bx+c的一阶导二阶导

解  >>  syms a b c x

    >> f='a*x^2+b*x+c'

    f =

      a*x^2+b*x+c

    >> diff(f, x)

    ans =

       2*a*x+b

    >> diff(f,2)

    ans =

       2*a

 例2 已知  http://s3/middle/5b5a25e9ga31b5748cb52&690 求f(x)的一阶导三阶导。

解: >> syms x

     >> f=sym('exp(2*x)*log(x^2+1)*tan(-x)')

      f =

        exp(2*x)*log(x^2+1)*tan(-x)

     >> diff(f, x)

       ans =

          -2*exp(2*x)*log(x^2+1)*tan(x)-2*exp(2*x)*x/(x^2+1)*tan(x)-exp(2*x)*log(x^2+1)…

          *(1+tan(x)^2)

     >> diff(f,x,3)

      ans =

         -24*exp(2*x)*x/(x^2+1)*tan(x)-12*exp(2*x)/(x^2+1)*tan(x)-24*exp(2*x)*x/(x^2+1)…

         *(1+tan(x)^2)+24*exp(2*x)*x^2/(x^2+1)^2*tan(x)-12*exp(2*x)*log(x^2+1)*tan(x)…

         *(1+tan(x)^2)+12*exp(2*x)/(x^2+1)^2*tan(x)*x+12*exp(2*x)*x^2/(x^2+1)^2*(1+…

         tan(x)^2)-16*exp(2*x)*x^3/(x^2+1)^3*tan(x)-2*exp(2*x)*log(x^2+1)*(1+tan(x)^2)^2…

         -4*exp(2*x)*log(x^2+1)*tan(x)^2*(1+tan(x)^2)-8*exp(2*x)*log(x^2+1)*tan(x)-12…

         *exp(2*x)*log(x^2+1)*(1+tan(x)^2)-6*exp(2*x)/(x^2+1)*(1+tan(x)^2)-12*exp(2*x)…

         *x/(x^2+1)*tan(x)*(1+tan(x)^2)

http://s2/middle/5b5a25e9ga31b6a874ef1&690

解  >>syms x y t

    >> dx=diff(t*(1-sin(t)),t);dy=diff(t*cos(t),t);

    >> dy/dx

    ans =

       (cos(t)-t*sin(t))/(1-sin(t)-t*cos(t))

 

例4 若sin(xy)=0,求dy/dx

解:>> syms x y
    >> -diff(sin(x*y),x)/diff(sin(x*y),y)
     ans =
         -y/x

   即dy/dx= -y/x

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有