matlab求解微分方程组用matlab对微分方程求解实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
matlab求解微分方程组用matlab对微分方程求解
实验报告
导读:就爱阅读网友为您分享以下“用matlab对微分方程求解实验报告”的资讯,希望对您有所帮助,感谢您对的支持!
o 《高等数学》上机作业(三)
一、上机目的
1、学会用Matlab 求简单微分方程的解析解。
2、学会用Matlab 求微分方程的数值解。
二、上机内容
1、求简单微分方程的解析解.
2、求微分方程的数值解.
3、数学建模实例.
4、上机作业. 三、上机作业
1. 求微分方程:xy ' ? y ? e
x
?0
在初值条件y (1 ) ? 2 e 下的特解,并画出解函数的图形. 命令>> y=dsolve('x*Dy+y-exp(x)=0','y(1)=2*exp(1) ','x') 运行结果:y = 1/x*exp(x)+1/x*exp(1)
函数图象:
2. 求微分方程的特解.
?d2ydy
?4?5y?0?2
dx ?dx
?y(0)?0,y'(1)?10?
命令>> y=dsolve('D2y+4*Dy-5*y=0','y(0)=0,Dy(1)= 10','x') 运行结果:
y=10/(exp(1)+5*exp(-5))*exp(x)-10/(exp(1)+5*exp(-5))*exp(-5*x)
3. 鱼雷追击问题
一敌舰在某海域内沿着正北方向航行时,我方战舰恰好位于
敌舰的正西方向1 公里处.我舰向敌舰发射制导鱼雷,敌舰速度为0.42 公里/分,鱼雷速度为敌舰速度的2倍。
试问敌舰航行多远时将被击中?M文件
x0=0; xf=0.9999999999999;
[x,y]=ode15s('eq1',[x0 xf],[0 0]); plot(x,y(:,1),'b.') hold on; y=0:0.1:1;
plot(1,y, '*') 运行结果图像:
结论:大概在y=0.67处击中敌方舰艇!
(选做)一个慢跑者在平面上沿椭圆以恒定的速率v=1跑步,设椭圆方程为: x=10+20cost, y=20+5sint. 突然有一只狗攻击他. 这
只狗从原点出发,以恒定速率w跑向慢跑者,狗的运动方向始终指向慢跑者.分别求出w=20,w=5时狗的运动轨迹.
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))+(20 +15*sin(t)-y(2)));
dy(2)=20*(20+15*sin(t)-y(2))/sqrt((10+20*cos(t)-y(1))+(20+ 15*sin(t)-y(2)));
运行命令
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),'r*')
运行结果:
利用二分法更改tf tf=5时
tf=2.5时
tf=3.15时:
所以在t=3.15时刻恰好追上!
W=5
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))+(20+
15*sin(t)-y(2)));
dy(2)=5*(20+15*sin(t)-y(2))/sqrt((10+20*cos(t)-y(1))+(20+1 5*sin(t)-y(2)));
命令: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=20
运行结果
Tf=40
所以永远追不上!
四、上机心得体会
高等数学是工科学生的主干科目,它应用于生产生活的方方面面,通过建模,计算可以求出实际问题的最优化问题!因此我们需要掌握建模和利用专业软件处理实际问题的能力!
百度搜索“就爱阅读”,专业资料,生活学习,尽在就爱阅读网,您的在线图书馆。