bioguider.com - 生物导航网

在线投稿 投稿指南 RSS订阅 邮件订阅 资讯通告:2008年网站全面更新,新设想新飞越!

[组图] Matlab 应用

更新:2007-1-13 来源:Internet 作者:佚名 【
 

常微分方程有时很难求解,MATLAB提供了功能强大的工具,可以帮助求解微分方程。函数dsovle计算常微分方程的符号解。因为我们要求解微分方程,就需要用一种方法将微分包含在表达式中。所以,dsovle句法与大多数其它函数有一些不同,用字母D来表示求微分,D2D3等等表示重复求微分,并以此来设定方程。任何D后所跟的字母为因变量。方程 =0用符号表达式D2y=0来表示。独立变量可以指定或由symvar规则选定为缺省。例如,一阶方程dy/dx=1+y2的通解为:

 

>> dsolve( ' Dy=1+y^2 ' )  %  find the general solution

ans=

       -tan(-x+C1)

 

其中,C1是积分常数。求解初值y(0)=1的同一个方程就可产生:

 

>>  dsolve(' Dy=1+y^2 '' y(0)=1 ')  %  add an initial condition

y=

       tan(x+1/4*pi)

 

独立变量可用如下形式指定:

 

>>  dsolve(' Dy=1+y^2 '' y(0)=1 '' v ')  %  find solution to dy/dv

ans=

       tan(v+1/4*pi)

 

让我们举一个二阶微分方程的例子,该方程有两个初始条件:

 

  =cos(2x)-y  (0)=0  y(0)=1

 

>> y=dsolve(' D2y=cos(2*x)-y '' Dy(0)=0 '' y(0)=1 ')

y=

       -2/3*cos(x)^2+1/3+4/3*cos(x)

 

>> y=simple(y)  %  y looks like it can be simplified

y=

       -1/3*cos(2*x)+4/3*cos(x)

 

通常,要求解的微分方程含有一阶以上的项,并以下述的形式表示:

 

-2 -3y=0

通解为:

 

>> y=solve( 'D2y-2Dy-3*y=0 ')

y=

       C1*exp(-x)+C2*exp(3*x)

 

加上初始条件:y(0)=0y(1)=1可得到:

 

>> y=solve( ' D2y-2Dy-3*y=0 ' ' y(0)=0y(1)=1 ' )

y=

       1/(exp(-1)-exp(3))*exp(-x)-1/(exp(-1)-exp(3))*exp(3*x)

 

>> y=simple(y)  %  this looks like a candidate for simplification

y=

       -(exp(-x)-exp(3*x))/(exp(3)-exp(-1))

 

>> pretty(y)  %   pretty it up

           exp(-x)-exp(3 x)

       - ---------------------

          exp(3) -exp(-1)

 

现在来绘制感兴趣的区域内的结果。

 

>> ezplot(y[-6 2])

 

22.3   符号函数y=-(exp(-x)-exp(3*x))/(exp(3)-exp(-1))  (-6x2)

 

微分方程组

 

函数dsolve也可同时处理若干个微分方程式,下面有两个线性一阶方程。

              =3f+4g            =-4f+3g

 

通解为:

 

>> [fg]=dsolve( ' Df=3*f+4*g ' ' Dg=-4*f+3*g ' )

f=

       C1*exp(3*x)*sin(4*x)+C2*exp(3*x)*cos(4*x)

g=

       -C2*exp(3*x)*sin(4*x)+C1*exp(3*x)*cos(4*x)

 

加上初始条件:f(0)=0g(0)=1,我们可以得到:

 

>> [fg]=dsolve( ' Df=3*f+4*g ' ' Dg=-4*f+3*g ' ' f(0)=0g(0)=1 ' )

f=

  exp(3*x)*sin(4*x)

g=

  exp(3*x)*cos(4*x)

Tags: [组图] Matlab 应用  
点击: 编辑:admin
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】   
    数据载入中,请稍后……
    关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 会员登录 - 帮助