数学实验4

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验4 常微分方程数值解

实验目的:

1、用MATLAB软件掌握求微分方程数值解的方法,并对结果作初步分析;

2、通过实例学习用微分方程模型解决简化的实际问题。

【题目1】放射性废物的处理:有一段时间,美国原子能委员会(现为核管理

委员会)处理浓缩放射性废物时,把它们装入密封性能很好的圆桶中,然后扔到水深300ft的大海中。这种做法是否会造成放射性污染,自然引起生态学家及社会各界的关注。原子能委员会一再保证圆桶非常坚固,绝不会破漏,这种做法是绝对安全的。然而一些工程师们却对此表示怀疑,认为圆桶在海底相撞时有可能发生破裂。于是双方展开了一场笔墨官司。

究竟谁的意见正确呢?原子能委员会使用的是55gal的圆桶,装满放射性废物时的圆桶重量为527.436lbf,在海水中受到的浮力为470.327lbf。此外,下沉时圆桶还要受到水的阻力,阻力与下沉速度成正比,工程师们做了大量实验,测得其比例系数为0.08lbf s/ft。同时,大量破坏性实验发现当圆桶速度超过

40ft/s时,就会因为与海底冲撞而发生破裂。

(1)建立解决上述问题的微分方程模型。

(2)用数值和解析两种方法求解微分方程,并回答谁赢了这场官司。

【问题分析】本题应该求出圆桶下沉到海底时的速度,比较其与40ft/s的大小,来决定谁最后赢了这场官司。

已知水深h=300ft,装满废物的圆桶质量为m=527.436lbf,在海水中受到的浮力为B=470.327lbf,圆桶受到的海水阻力D与下降速度v成正比,比例系数

K=0.08lbfs/ft。

设t时刻圆桶下落深度为y,圆桶速度为v,加速度为a,所受重力为G=mg,所受浮力为f,所受阻力为K*v,则圆桶所受合力为:

F=G-f-Kv

依据牛顿第二定律有:

ma=m dv

dt

=m

d2y

dt2

=G−f−Kv=G−f−K

dy

dt

由此可以利用常微分方程求解,其中v(0)=0,y(0)=0。

【程序运算】

一、数值法

记y(1)=y,y(2)=v,y=(y(1),y(2))T.编写如下M文件:

function dy=fangshe(t,y)%建立名为fangshe的函数M文件

m=527.436*0.4536;

G=527.436*0.4536*9.8;

f=470.327*0.4536*9.8;

Kv=0.08*0.4536*9.8*y(2)/0.3048;

dy=[y(2);(G-f-Kv)/m]%以向量性格是表示方程

编写如下运行程序:

>> ts=[0:2000];

>> y0=[0,0];%给定初值

>> opt=odeset('reltol',1e-3,'abstol',1e-6);%给定精确度

>> [t,y]=ode45(@fangshe,ts,y0,opt);

>> plot(t,y(:,2),‘r’ )%画出v(t)-t图象

>> gtext('t');

>> gtext('v(t)');

运行结果如下:

>> plot(t,y(:,1)),axis([0 25 0 350]),grid; %画出y(t)-t图像>> hold on, ymax=300*0.3048;

>> depth=linspace(ymax,ymax,2001);

>> plot(t,depth,'b'),axis([0 25 0 350]),grid;%画出最深高度图像>>gtext('t'),

>>gtext('y(t)'),

>>gtext('ymax')

运行结果如下:

由图像知,t 大概等于13s 时,圆桶到达海底,结合以上两图可以得知,圆桶落入海底时,会因为速度过大而破裂。

二、解析法

将模型分离变量得: mvdv mg −B −Cv =dy 对两边分别不定积分得:y =

−vm C −gm 2−bm c 2ln (g −B m −Cv m )+C1 代入已知数据得:

y =−v 4.87676×10−3− 1.06111(−4.87676)2ln (1+−4.87676×10−3v 1.06111

) 当v=40ft/s 时,可利用上式算出y 值(即v 的一阶常微分方程):

齐次解的形式为v =Ae qt ,其中q=-4.87676×10−3 A =-217.59 ;

特解为v=217.59 ;

综上,v (t )=−217.59e −4.87676×10

−3t +217.59 故有:y (t )=∫v (t )dt =∫(−217.59e −4.87676×10

−3t +217.59)dt =91.44t 0t 0

V(t)=13.8m/s=44.0ft/s

【结果分析】

结合题目的约束条件作图分析,判断下沉距离S=300ft时速度是否大于

40ft/s或判断速度达到40ft/s时下沉的距离是否大于300ft(我选择用速度是否大于40ft/s判断),从而判断圆桶与海底冲撞时是否会破裂。

从依据数值解图的中可见,圆桶还没沉到海底时,其速度已达到规定的圆桶不破裂的最大速度。由解析解算出的数据也说明,当下落高度达到300ft时,速度已达44.0ft/s超过规定速度,故圆桶会破裂。工程师们赢了官司。

从速度-时间曲线可以看到,开始时圆桶的速度随着时间逐渐增大,加速度逐渐减小,可见圆桶做的是加速度逐渐减小的变加速运动。时间充分大后

(t>1500s)后,圆桶的加速度减至0,速度趋于一个定值,约为275m/s。

【题目2】一只小船渡过宽为d 的河流,目标是起点A 正对着的另一岸B 点。

已知河水流速为v1 与船在静水中的速度之比为k。

(1)建立描述小船航线的数学模型,求其解析解;

(2)设d=100m,v1=1m/s,v2=2m/s,用数值解法求渡河所需的时间、任

意时刻小船的位置及航行曲线,作图,并与解析解比较。

(3)若流速v1=0,0.5,1.5,2(m/s),结果将如何?

【问题分析】

假设航行者并不知道水流速度。设时间为t,小船坐标为(x,y)。

据题目所给公式,可以列如下方程:

dx dt =v1−

v x

√x2+y2

dy dt =

v y

√x2+y2

初值为:(x,y)=(0,d) 【程序运算】

(1)运用解析法

将上两式相除得:dx

dy =v1

v2

√(x

y

)2+1+x

y

令x/y=p<0, v1/v2=k

有:dp

dy

y+p=k√p2+1+p

整理得:

√p2+1=k dy

y

求解得:ln(√p2+1+p)=k ln(cy)

相关文档
最新文档