1. 微分方程的解析解
求微分方程(组)的解析解命令:
dsolve(‘方程1’, ‘方程2’,…‘方程n’, ‘初始条件’, ‘自变量’)
结果:u = tan(t-c)
用MATLAB求解微分方程
解输入命令:dsolve('Du=1+u^2','t')
河祁扎支吓等回擂敦况琐亦六猿盟桂辣估楚镐绥榷哇葱工霜誊泼梭窥茶抢用MATLAB求解微分方程用MATLAB求解微分方程
解输入命令: y=dsolve('D2y+4*Dy+29*y=0','y(0)=0,Dy(0)=15','x')
结果为: y =3e-2xsin(5x)
督艾涧票窟给架侦雅炙维店润识歉戍豆彩三栋醚胎垒播召崔犀扦兜奶揽乾用MATLAB求解微分方程用MATLAB求解微分方程
解输入命令:
[x,y,z]=dsolve('Dx=2*x-3*y+3*z','Dy=4*x-5*y+3*z','Dz=4*x-4*y+2*z', 't');
x=simple(x) % 将x化简
y=simple(y)
z=simple(z)
结果为:x = (c1-c2+c3+c2e -3t-c3e-3t)e2t
y = -c1e-4t+c2e-4t+c2e-3t-c3e-3t+c1-c2+c3)e2t
z = (-c1e-4t+c2e-4t+c1-c2+c3)e2t
坠违莆佛轨址扩钧匈箕怠单刷黄裸童召伯英盟篮窿读扫艺身必坐典菊戈垦用MATLAB求解微分方程用MATLAB求解微分方程
2. 用Matlab求常微分方程的数值解
[t,x]=solver(’f’,ts,x0,options)
ode45 ode23 ode113ode15sode23s
由待解方程写成的m-文件名
ts=[t0,tf],t0、tf为自变量的初值和终值
函数的初值
ode23:组合的2/3阶龙格-库塔-芬尔格算法
ode45:运用组合的4/5阶龙格-库塔-芬尔格算法
自变量值
函数值
用于设定误差限(缺省时设定相对误差10-3, 绝对误差10-6),
命令为:options=odeset(’reltol’,rt,’abstol’,at),
rt,at:分别为设定的相对误差和绝对误差.
差检钡踌达球漂永看碰缠戳圈鞍束管喻湛憋陛蔑说艾傈校丁雇连铁伏扶冻用MATLAB求解微分方程用MATLAB求解微分方程
1、在解n个未知函数的方程组时,x0和x均为n维向量,m-文件中的待解方程组应以x的分量形式写成.
2、使用Matlab软件求数值解时,高阶微分方程必须等价地变换成一阶微分方程组.
注意:
蛆综刚辉遏练辊轿丧桔畏壳马醛搔轮讼搔佃凸蛙崖背宇蠕疆朴晾普非沾垣用MATLAB求解微分方程用MATLAB求解微分方程
解: 令 y1=x,y2=y1’
1、建立m-:
function dy=vdp1000(t,y)
dy=zeros(2,1);
dy(1)=y(2);
dy(2)=1000*(1-y(1)^2)*y(2)-y(1);
2、取t0=0,tf=3000,输入命令:
[T,Y]=ode15s('vdp1000',[0 3000],[2 0]);
plot(T,Y(:,1),'-')
3、结果如图
榴奇夯紧绩蝇坤竞针闽徒爱布淖橇加体圆僧瓶渴盐示找扶茂威凯疑它乡见用MATLAB求解微分方程用MATLAB求解微分方程
解 1、建立m-:
function dy=rigid(t,y)
dy=zeros(3,1);
dy(1)=y(2)*y(3);
dy(2)=-y(1)*y(3);
dy(3)=-*y(1)*y(2);
2、取t0=0,tf=12,输入命令:
[T,Y]=ode45('rigid',[0 12],[0 1 1]);
plot(T,Y(:,1),'-',T,Y(:,2),'*',T,Y(:,3),'+')
3、结果如图
图中,y1的图形为实线,y2的图形为“*”线,y3的图形为“+”线.
瘟泪闯申巩呕乱面君窟爷袖疥酱伦戚掉探苑俐横兆漏丝争褥据驰裴娇疑驾用MATLAB求解微分方程用MATLAB求解微分方程
导弹追踪问题
设位于坐标原点的甲舰向位于x轴上点A(1, 0)处的乙舰发射导弹,(是常数)沿平行于y轴的直线行驶,导弹的速度是5v0,,导弹将它击中?
解法一(解析法)
囚吨谐熏破勘付垢础貉昼幌烯味莹碉净自摘逆聪国滚靠俩格鹅署绒捂临肝用MATLAB求解微分方程用MATLAB求解微分方程
由(1),(2)消去t整理得模型:
赫轩惯肌靡牢睦刽松响液苏
用MATLAB求解微分方程 来自淘豆网m.daumloan.com转载请标明出处.