用MATLAB求解微分方程,MATLAB求解微分方程,MATLAB求解微分方程组,MATLAB求解二阶微分方程,matlab dsolve,matlab dsolve函数,MATLAB如何求微分,matlab ode45程序,微分方程求解,二阶微分方程求解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转载请标明出处.