Matlab在微积分中的应用

转载:Matlab在微积分中的应用  

2006-12-14 11:19:38|  分类: FYI:你知我知 |  标签:微积分  matlab   |字号 订阅

命令极限

函数  limit

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

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

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

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

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计算S1阶导数。

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

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

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

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计算从ab的定积分

R = int(S,a,b)     %对符号表达式s中的符号变量v计算从ab的定积分,其中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)=bDy(c)=dD2y(e)=f,等等,分别表示,,;若边界条件少于方程(组)的阶数,则返回的结果r中会出现任意常数C1C2dsolve命令最多可以接受12个输入参量(包括方程组与定解条件个数,当然我们可以做到输入的方程个数多于12个,只要将多个方程置于一字符串内即可)。若没有给定输出参量,则在命令窗口显示解列表。若该命令找不到解析解,则返回一警告信息,同时返回一空的sym对象。这时,用户可以用命令ode23ode45求解方程组的数值解。

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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值