【数模学习】Matlab 符号微积分 计算微分、雅可比矩阵、不定积分与定积分、求解微分方程

1.计算微分

     函数diff可以用来计算符号表达式的微分,其调用格式如下:

     df=diff(f,n);

     参数说明:df是微分运算的结果。f是输入的表达式,n是求导的次数,其默认值是1.

     举例:

      >>g = diff(sym(sin(x)),1);

      g =

      cos(x)

2.计算雅可比矩阵

     函数jacobian可以用来计算符号表达式的雅可比矩阵

     在Matlab中,jacobian的调用格式如下:

      Jf=jacobian(f,v);

      参数说明:f是符号表达式,v是由不同变量名组成的向量。当v中只含有一个变量时,jacobian(f,v)和diff(f)是等价的。

      举例:调用函数jacobian

      >> Jf1=jacobian(sym('x*log(1+x)'),sym('x'));
      >> Jf2=jacobian(sym('[x+y,x*y]'),[sym('x'),sym('y')]);
      >> Jf1  
      Jf1 =
      log(x + 1) + x/(x + 1)
     >> Jf2
     Jf2 =
     [ 1, 1]
     [ y, x]

3.计算不定积分和定积分

    函数int可以用来计算定积分与不定积分,该函数调用格式如下:

     v=int(S);

     v=int(S,var);

     v=int(S,a,b);

     v=int(S,var,a,b);

     参数说明:v是返回的结果,S是被积函数,可以使一个向量或者矩阵,var是积分表达式中的积分变量。a和b用于指定积分的积分度量。a和b用于指定积分的上下界。当var默认的时候,函数int将默认对x进行积分。 

     举例:调用函数int

     >> syms  x y a;

     >> v1=int([sin(x),x*exp(x)])
     v1 =
     [ -cos(x), exp(x)*(x - 1)]
     >> v12=int(y*sin(x*y),y);
     >> v12
     v12 =
     (sin(x*y) - x*y*cos(x*y))/x^2
    >> v3=int([sin(x)/x,x*exp(-x^2)],0,inf);
    >> v3
     v3 =
    [ pi/2, 1/2]
    >> v4=int(sin(x*a)/x,x,0,1);
    >> v4
    v4 =
    sinint(a)

4.求解微分方程

    函数dsolve直接的用法是用来求解微分方程,可以计算出被积函数的原函数,再代入积分限进行计算,就可以得到积分结果了。

    相关程序如下:

    >> F=dsolve('Df=sin(t)*cos(t)');
    >> v=subs(F,2)-subs(F,1); %subs通用置换指令
    >> v
    v =
    sin(2)^2/2 - sin(1)^2/2

    >> double(v)
    ans =
    0.059374196079117

5.计算极限

    函数limit可以用来计算不同类型表达式的极限,其调用格式为:

    v=limit(f);

    v=limit(f,a);

    v=limit(f,x,a);

    v=limit(f,x,a,'right');

    v=limit(f,x,a,'left');

    参数说明:v是返回的极限值,f是符号表达式,它可以是单个表达式,也可以是由多个表达式组成的向量或者矩阵,x指定符号表达式中的x为变量,a是用于指定x->a的极限值,‘right’和‘left’分别用于指定表达式的右极限和左极限。

    举例:调用函数limit计算极限

    syms x a t;
    v1=limit((sin(x)/x)); %计算表达式在x趋向于0时的极限
    v2=limit((x-1)/(x^2-1),1); %计算表达式在x趋向于1时的极限
    v3=limit((1+2*x/t)^(3*t),t,inf);  %计算表达式在t趋向于无穷大(inf)时的极限
    v4=limit(1/x,x,0,'right');  %计算表达式在x趋向于0时的右极限
    v5=limit(1/x,x,0,'left');  %计算表达式在x趋向于0时的左极限

    输出结果为:

    v1 = 1 
    >> v2 
    v2 = 
   1/2 
   >> v3 
   v3 =
   exp(6*x)
   >> v4
   v4 =
   Inf 
   >> v5 
   v5 = 
   -Inf
  说明:输入表达式还可以是向量或者矩阵。

版权声明:本文为博主原创文章,未经博主允许不得转载。

posted on 2015-07-02 21:58  Tob__yuhong  阅读(730)  评论(0编辑  收藏  举报

导航