《微分方程的Matlab求解.ppt》由会员分享,可在线阅读,更多相关《微分方程的Matlab求解.ppt(12页珍藏版)》请在三一办公上搜索。
1、记号:在表达微分方程时,用字母D表示求微分,D2、D3等表示求高阶微分.D后所跟的字母为因变量,自变量可以指定或由系统规则选定为缺省.,例如,微分方程,应表达为:D2y=0.,微分方程的解析解,解:输入命令:y=dsolve(D2y+4*Dy+29*y=0,y(0)=0,Dy(0)=15,x),结 果 为:y=3e-2xsin(5x),结 果:u=tan(t-c),解 输入命令:s=dsolve(Dx=2*x-3*y+3*z,Dy=4*x-5*y+3*z,Dz=4*x-4*y+2*z,t);s.x%查看结果 s.y s.z x=simple(s.x)%简化结果 y=simple(s.y)z=s
2、imple(s.z),结 果 为:x=-(-C1-C2*exp(-3*t)+C2-C3+C3*exp(-3*t)*exp(2*t)y=(-C1*exp(-4*t)+C1+C2*exp(-4*t)+C2*exp(-3*t)-C2+C3-C3*exp(-3*t)*exp(2*t)z=(-C1+exp(4*t)*C1-2*exp(4*t)+C2+exp(4*t)*C3)*exp(-2*t),用Matlab软件求常微分方程的数值解,t,x=solver(f,ts,x0,options),1、在解n个未知函数的方程组时,x0和x均为n维向量,m-文件中的待解方程组应以x的分量形式写成.,2、使用Matl
3、ab软件求数值解时,高阶微分方程必须变换成等价的一阶微分方程组.,注意:,解:令 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、结果如图,解 1、建立m-文件如下:function dy=rigid(t,y)dy=zeros(3,1);dy(1)=y(2)*y(3);dy(2)=-y(1)*y(3
4、);dy(3)=-0.51*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的图形为“+”线.,慢跑者与狗,一个慢跑者在平面上沿椭圆以恒定的速率v=1跑步,设椭圆方程为:x=10+20cost,y=20+5sint.突然有一只狗攻击他.这只狗从原点出发,以恒定速率w跑向慢跑者,狗的运动方向始终指向慢跑者.分别求出w=20,w=5时狗的运动轨迹.,1.模型建立,设时刻t慢跑者的坐标为(X(
5、t),Y(t),狗的坐标为(x(t),y(t).,则X=10+20cost,Y=20+15sint,狗从(0,0)出发,与导弹追踪问题类似,建立狗的运动轨迹的参数方程:,返回,2.模型求解,(1)w=20时,建立m-文件如下:function dy=eq3(t,y)dy=zeros(2,1);dy(1)=20*(10+20*cos(t)-y(1)/sqrt(10+20*cos(t)-y(1)2+(20+15*sin(t)-y(2)2);dy(2)=20*(20+15*sin(t)-y(2)/sqrt(10+20*cos(t)-y(1)2+(20+15*sin(t)-y(2)2);,取t0=0,
6、tf=10,建立程序如下:t0=0;tf=10;t,y=ode45(eq3,t0 tf,0 0);T=0:0.1:2*pi;X=10+20*cos(T);Y=20+15*sin(T);plot(X,Y,-)hold on plot(y(:,1),y(:,2),*),不断修改tf的值,分别取tf=5,2.5,3.5,至3.15时,狗刚好追上慢跑者.,建立m-文件如下:function dy=eq4(t,y)dy=zeros(2,1);dy(1)=5*(10+20*cos(t)-y(1)/sqrt(10+20*cos(t)-y(1)2+(20+15*sin(t)-y(2)2);dy(2)=5*(2
7、0+15*sin(t)-y(2)/sqrt(10+20*cos(t)-y(1)2+(20+15*sin(t)-y(2)2);,取t0=0,tf=10,建立程序如下:t0=0;tf=10;t,y=ode45(eq4,t0 tf,0 0);T=0:0.1:2*pi;X=10+20*cos(T);Y=20+15*sin(T);plot(X,Y,-)hold on plot(y(:,1),y(:,2),*),不断修改tf的值,分别取tf=20,40,80,可以看出,狗永远追不上慢跑者.,(2)w=5时,1.一个小孩借助长度为a的硬棒,拉或推某玩具.此小孩沿某曲线行走,计算并画出玩具的轨迹.研究你画的轨
8、迹的几何形状是由哪些因素确定的?如何确定的?,2.讨论资金积累、国民收入与人口增长的关系.(1)若国民平均收入x与按人口平均资金积累y成正比,说明仅当总资金积累的相对增长率k大于人口的相对增长率r时,国民平均收入才是增长的.(2)作出k(x)和r(x)的示意图,分析人口激增会引起什么后果.,实 验 题,3.从致冰厂购买了一块立方体的冰块,在运输途中发现,第一小时大约融化了1/4,(1)求冰块全部融化要多长时间(设气温不变)(2)如运输时间需要2.5小时,问:运输途中冰块大约会融化掉多少?,5正常人身上也有癌细胞,一个癌细胞直径约为10m,重约0.001g,(1)当患者被查出患有癌症时,通常直径
9、已有1cm以上(即已增大1000倍),由此容易算出癌细胞转入活动期已有30天,故如何在早期发现癌症是攻克癌症的关键之一(2)手术治疗常不能割去所有癌细胞,故有时需进行放射疗法。射线强度太小无法杀死癌细胞,太强病人身体又吃不消且会使病人免疫功能下降。一次照射不可能杀死全部癌细胞,请设计一个可行的治疗方案(医生认为当体内癌细胞数小于100000个时即可凭借体内免疫系统杀灭)。,6.大鱼只吃小鱼、小鱼只吃虾米,试建模研究这一捕食系统。在求解你的模型时也许你会遇到困难,建议对模型中的参数取定几组值,用数值解方法处理,并研究结果关于参数取值的敏感性。,4设药物吸收系数(k为药物的分解系数),对口服或肌注治疗求体内药物浓度的峰值(峰浓度)级达峰时间。,