用matlab对微分方程求解实验报告.docx

上传人:b****1 文档编号:29131497 上传时间:2023-07-20 格式:DOCX 页数:12 大小:374.52KB
下载 相关 举报
用matlab对微分方程求解实验报告.docx_第1页
第1页 / 共12页
用matlab对微分方程求解实验报告.docx_第2页
第2页 / 共12页
用matlab对微分方程求解实验报告.docx_第3页
第3页 / 共12页
用matlab对微分方程求解实验报告.docx_第4页
第4页 / 共12页
用matlab对微分方程求解实验报告.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

用matlab对微分方程求解实验报告.docx

《用matlab对微分方程求解实验报告.docx》由会员分享,可在线阅读,更多相关《用matlab对微分方程求解实验报告.docx(12页珍藏版)》请在冰豆网上搜索。

用matlab对微分方程求解实验报告.docx

用matlab对微分方程求解实验报告

o《高等数学》上机作业(三)

课程

《高等数学》

上机

内容

微分方程求解

成绩

姓名

专业

班级

学号

教学班

指导教师

上机

日期

一、上机目的

1、学会用Matlab求简单微分方程的解析解。

2、学会用Matlab求微分方程的数值解。

二、上机内容

1、求简单微分方程的解析解.

2、求微分方程的数值解.

3、数学建模实例.

4、上机作业.

三、上机作业

1.求微分方程:

在初值条件下的特解,并画出解函数的图形.

命令>>y=dsolve('x*Dy+y-exp(x)=0','y

(1)=2*exp

(1)','x')

运行结果:

y=1/x*exp(x)+1/x*exp

(1)

函数图象:

2.求微分方程的特解.

命令>>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',[x0xf],[00]);

plot(x,y(:

1),'b.')

holdon;

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文件代码

functiondy=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;tf=10;

[t,y]=ode45('eq3',[t0tf],[00]);

T=0:

0.1:

2*pi;

X=10+20*cos(T);

Y=20+15*sin(T);

plot(X,Y,'-')

holdon

plot(y(:

1),y(:

2),'r*')

运行结果:

利用二分法更改tf

tf=5时

tf=2.5时

tf=3.15时:

所以在t=3.15时刻恰好追上!

W=5

M文件代码

functiondy=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*(20+15*sin(t)-y

(2))/sqrt((10+20*cos(t)-y

(1))^2+(20+15*sin(t)-y

(2))^2);

命令:

t0=0;tf=10;

[t,y]=ode45('eq4',[t0tf],[00]);

T=0:

0.1:

2*pi;

X=10+20*cos(T);

Y=20+15*sin(T);

plot(X,Y,'-')

holdon

plot(y(:

1),y(:

2),'*')

运行结果

更改tf=20

运行结果

Tf=40

所以永远追不上!

四、上机心得体会

高等数学是工科学生的主干科目,它应用于生产生活的方方面面,通过建模,计算可以求出实际问题的最优化问题!

因此我们需要掌握建模和利用专业软件处理实际问题的能力!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1