《用Matlab解微分方程(共2页).doc》由会员分享,可在线阅读,更多相关《用Matlab解微分方程(共2页).doc(2页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上用Matlab软件求解微分方程 1解析解 (1)一阶微分方程求的通解:dsolve(Dy=1+y2,x)求的通解:dsolve(Dy=1+x2-y,x)求的特解:dsolve(Dy=1+y2,y(0)=1,x) (2)高阶微分方程求解其中,命令为:dsolve(x2*D2y+x*Dy+(x2-0.52)*y=0,y(pi/2)=2,Dy(pi/2)=-2/pi,x)求的通解,命令为: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)
2、-1)*x) (3)一阶微分方程组求的通解: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)若再加上初始条件,则求特解: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)一阶微分方程 现以步长h=0.1用“4阶龙格库塔公式”求数值解:先建立“函数M文件”:f
3、unction f=eqs1(x,y)f=y-2*x/y;再命令: 格式为:自变量,因变量=ode45(函数文件名,节点数组,初始值)命令为: x,y=ode45(eqs1,0:0.1:1,1)若还要画图,就继续命令: plot(x,y) (2)一阶微分方程组 只须向量化,即可用前面方法: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列为函数的数值解)要画图,继续命令:hold on,plot(x,y(:,1),plot(x,y(:,2),hold off (3)高阶微分方程先化成一阶微分方程组,再用前面方法。上机练习:准备:令,化成用机器: 函数文件eqs3内容? 命令? 画图?专心-专注-专业