数学建模社区-数学中国

标题: 微积分简介 [打印本页]

作者: 森之张卫东    时间: 2015-7-20 19:35
标题: 微积分简介
3.2  微积分

命令1  极限

函数  limit

格式  limit(F,x,a)
  %计算符号表达式F=F(x)的极限值,当x→a时。

limit(F,a)     %用命令findsym(F)确定F中的自变量,设为变量x,再计算F的极限值,当x→a时。

limit(F)      %用命令findsym(F)确定F中的自变量,设为变量x,再计算F的极限值,当x→0时。

limit(F,x,a,'right')或limit(F,x,a,'left')   %计算符号函数F的单侧极限:左极限x→a- 或右极限x→a+。

例3-25
>>syms x a t h n;
>>L1 = limit((cos(x)-1)/x)
>>L2 = limit(1/x^2,x,0,'right')
>>L3 = limit(1/x,x,0,'left')
>>L4 = limit((log(x+h)-log(x))/h,h,0)
>>v = [(1+a/x)^x, exp(-x)];
>>L5 = limit(v,x,inf,'left')
>>L6 = limit((1+2/n)^(3*n),n,inf)
计算结果为:
L1 =
     0
L2 =
     inf
L3 =
     -inf
L4 =
     1/x
L5 =
     [ exp(a),      0]
L6 =
     exp(6)

命令2  导数(包括偏导数)
函数  diff
格式  diff(S,'v')、diff(S,sym('v'))   %对表达式S中指定符号变量v计算S的1阶导数。

      diff(S)   %对表达式S中的符号变量v计算S的1阶导数,其中v=findsym(S)。

      diff(S,n)   %对表达式S中的符号变量v计算S的n阶导数,其中v=findsym(S)。

      diff(S,'v',n)   %对表达式S中指定的符号变量v计算S的n阶导数。

例3-26
>>syms x y t
>>D1 = diff(sin(x^2)*y^2,2)  %计算
>>D2 = diff(D1,y)  %计算
>>D3 = diff(t^6,6)
计算结果为:
D1 =
     -4*sin(x^2)*x^2*y^2+2*cos(x^2)*y^2
D2 =
     -8*sin(x^2)*x^2*y+4*cos(x^2)*y
D3 =
     720

命令3  符号函数的积分
函数  int
格式  R = int(S,v)   %对符号表达式S中指定的符号变量v计算不定积分。

注意的是,表达式R只是函数S的一个原函数,后面没有带任意常数C。

R = int(S)  %对符号表达式S中的符号变量v计算不定积分,其中v=findsym(S)。

R = int(S,v,a,b)   %对表达式s中指定的符号变量v计算从a到b的定积分

R = int(S,a,b)     %对符号表达式s中的符号变量v计算从a到b的定积分,其中v=findsym(S)。

例3-27
>>syms x z t alpha
>>INT1 = int(-2*x/(1+x^3)^2)
>>INT2 = int(x/(1+z^2),z)
>>INT3 = int(INT2,x)
>>INT4 = int(x*log(1+x),0,1)
>>INT5 = int(2*x, sin(t), 1)
>>INT6 = int([exp(t),exp(alpha*t)])
计算结果为:
INT1 =
      -2/9/(x+1)+2/9*log(x+1)-1/9*log(x^2-x+1)-2/9*3^(1/2)*atan(1/3*(2*x-1)*
… 3^(1/2))-2/9*(2*x-1)/(x^2-x+1)
INT2 =
       x*atan(z)
INT3 =
       1/2*x^2*atan(z)
INT4 =
       1/4
INT5 =
       1-sin(t)^2
INT6 =
       [ exp(t), 1/alpha*exp(alpha*t)]

命令4  常微分方程的符号解
函数  dsolve
格式  r = dsolve('eq1,eq2,…','cond1,cond2,…','v')


说明  对给定的常微分方程(组)eq1,eq2,…中指定的符号自变量v,与给定的

边界条件和初始条件cond1,cond2,….求符号解(即解析解)r;若没有指定变量v,

则缺省变量为t;在微分方程(组)的表达式eq中,大写字母D表示对自变量(设为x)的

微分算子:D=d/dxD2=d2/dx2,…。
微分算子D后面的字母则表示为因变量,

即待求解的未知函数。初始和边界条件由字符串表示:y(a)=b,Dy(c)=d,D2y(e)=f,

等等,分别表示 , , ;若边界条件少于方程(组)的阶数,则返回的结果r中会

出现任意常数C1,C2,…;

dsolve命令最多可以接受12个输入参量(包括方程组

与定解条件个数,当然我们可以做到输入的方程个数多于12个,只要将多个方程

置于一字符串内即可)。
若没有给定输出参量,则在命令窗口显示解列表。

若该命令找不到解析解,则返回一警告信息,同时返回一空的sym对象。

这时,用户可以用命令ode23或ode45求解方程组的数值解。

例3-28
>>D1 = dsolve('D2y – Dy =exp(x)')
>>D2 = dsolve('t*D2f = Df*log((Dy)/t)')
>>D3 = dsolve('(Dy)^2 + y^2 = 1','s')
>>D4 = dsolve('Dy = a*y', 'y(0) = b')  % 带一个定解条件
>>D5 = dsolve('D2y = -a^2*y', 'y(0) = 1', 'Dy(pi/a) = 0')  % 带两个定解条件
>>[x,y] = dsolve('Dx = y', 'Dy = -x')  % 求解线性微分方程组
>>[u,v] = dsolve(‘Du=u+v,Dv=u-v’)
计算结果为:
D1 =
     -exp(x)*t+C1+C2*exp(t)
D2 =
     y(t)=Int(exp(t*diff(f(t),`$`(t,2))/diff(f(t),t))*t,t)+C1
D3 =
     [        -1]
     [        1]
     [  sin(s-C1)]
     [ -sin(s-C1)]
D4 =
     b*exp(a*t)
D5 =
     cos(a*t)
x =
     cos(t)*C1+sin(t)*C2
y =
     -sin(t)*C1+cos(t)*C2
u =
    1/2*C1*exp(2^(1/2)*t) - 1/4*C1*2^(1/2)*exp(-2^(1/2)*t) + 1/4*C1*2^(1/2) *exp (2^(1/2)*t) + 1/2*C1*exp(-2^(1/2)*t) - 1/4*C2*2^(1/2)*exp(-2^(1/2)*t) +   1/4*C2 *2^(1/2)*exp(2^(1/2)*t)
v =
   -1/4*C1*2^(1/2)*exp(-2^(1/2)*t)+1/4*C1*2^(1/2)*exp(2^(1/2)*t)+1/2*C2*exp
         (2^(1/2)*t)+1/4*C2*2^(1/2)*exp(-2^(1/2)*t)-1/4*C2*2^(1/2)*exp(2^(1/2)*t)+  1/2*C2*exp(-2^(1/2)*t)






欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5