用Matlab解微分方程

  • 格式:doc
  • 大小:50.50 KB
  • 文档页数:2

下载文档原格式

  / 5
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用Matlab 软件求解微分方程

1.解析解

(1)一阶微分方程 求21y dx

dy +=的通解:dsolve('Dy=1+y^2','x') 求y x dx

dy -+=21的通解:dsolve('Dy=1+x^2-y','x') 求⎪⎩⎪⎨⎧=+=1

)0(12y y dx dy 的特解:dsolve('Dy=1+y^2',’y(0)=1’,'x')

(2)高阶微分方程 求解⎩⎨⎧-='==-+'+''.

2)2(,2)2(,0)(222πππy y y n x y x y x 其中,21=n ,命令为: dsolve('x^2*D2y+x*Dy+(x^2-0.5^2)*y=0','y(pi/2)=2,Dy(pi/2)=-2/pi','x') 求042=-+'-'''x y y y 的通解,命令为:

dsolve('D3y-2*Dy+y-4*x=0','x')

输出为:

ans=8+4*x+C1*exp(x)+C2*exp(-1/2*(5^(1/2)+1)*x)+C3*exp(1/2*(5^(1/2)-1)*x)

(3)一阶微分方程组

求⎩⎨⎧+-='+=').

(3)(4)(),(4)(3)(x g x f x g x g x f x f 的通解:[f,g]=dsolve('Df=3*f+4*g','Dg=-4*f+3*g','x') 输出为: f =exp(3*x)*(cos(4*x)*C1+sin(4*x)*C2)

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

若再加上初始条件1)0(,0)0(==g f ,则求特解:

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

输出为: f =exp(3*x)*sin(4*x)

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

2.数值解

(1)一阶微分方程

⎪⎩

⎪⎨⎧=≤≤-=.1)0(,10,2y x y x y dx

dy 现以步长h=0.1用“4阶龙格—库塔公式”求数值解: 先建立“函数M —文件”:function f=eqs1(x,y)

f=y-2*x/y;

再命令: 格式为:

[自变量,因变量]=ode45(‘函数文件名’,节点数组,初始值) 命令为: [x,y]=ode45('eqs1',0:0.1:1,1)

若还要画图,就继续命令: plot(x,y)

(2)一阶微分方程组

⎪⎩⎪⎨⎧==+-='≤≤-+='.3.0)0(,2.0)0(,2sin ,10,2cos 21

212211y y y y x y x y y x y 只须向量化,即可用前面方法: function f=eqs2(x,y)

f=[cos(x)+2*y(1)-y(2);sin(x)-y(1)+2*y(2)];

将此函数文件,以文件名eqs2保存后,再下命令:

[x,y]=ode45('eqs2',0:0.1:1,[0.2;0.3])

(注:输出的y 是矩阵,第i 列为函数i y 的数值解)

要画图,继续命令:hold on,plot(x,y(:,1)),plot(x,y(:,2)),hold off

(3)高阶微分方程

先化成一阶微分方程组,再用前面方法。

上机练习:⎩⎨⎧=''='=≤≤=-+'-'''.

0)0(,2.0)0(,1)0(,10,042y y y x x y y y 准备:令y y y y y y ''='==321,,,化成

.02.01)0()0()0(,423212132321⎪⎪⎪⎭

⎫ ⎝⎛=⎪⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎭⎫ ⎝⎛++-='⎪⎪⎪⎭⎫ ⎝⎛y y y x y y y y y y y 用机器: 函数文件eqs3内容?

命令?

画图?