第二次报告.docx
- 文档编号:6960858
- 上传时间:2023-01-13
- 格式:DOCX
- 页数:20
- 大小:382.12KB
第二次报告.docx
《第二次报告.docx》由会员分享,可在线阅读,更多相关《第二次报告.docx(20页珍藏版)》请在冰豆网上搜索。
第二次报告
实验一:
火箭发射问题
实验目的:
求引擎关闭瞬间的高度、速度、加速度以及火箭到达最高点时的高度和加速度,并画出高度、速度、加速度随时间变化的图像。
实验分析:
此题为一个二阶常微分方程问题,可以采用龙格-库塔方法来解决。
构建如下常微分方程组:
第一阶段(引擎开启):
第二阶段(引擎关闭):
实验过程:
以向上为正方向
令x=(x
(1),x
(2)),x
(1)=v(速度),x
(2)=h(高度),xdot
(1)=a(加速度)。
且均为国际单位制。
Matlab实现:
设计两个函数来分段解决:
functionxdot=huojian1(t1,x1)
xdot=[(32000-0.4*x
(1)^2)/(1400-18*t)-9.8;x
(1)];
functionxdot=huojian2(t2,x2)
xdot=[-0.4*x
(1)^2/320-9.8;x
(1)];
运行程序:
ts=0:
0.01:
60;
x0=[0,0];
[t1,x1]=ode45(@huojian1,ts,x0);
diyijieduan=[t1,x1];
ts=60:
0.01:
71.3;
x0=[diyijieduan(6001,2),diyijieduan(6001,3)];
[t2,x2]=ode45(@huojian2,ts,x0);
dierjieduan=[t2,x2];
t=[t1;t2];x=[x1;x2];
a1=(32000-0.4*x1(:
1).^2)./(1400-18*t1)-9.8;
a2=(-0.4*x2(:
1).^2)/320-9.8;
[t,x];
a=[a1;a2];
[t,x,a]
subplot(3,1,1),plot(t,x(:
1)),grid,
subplot(3,1,2),plot(t,x(:
2)),grid,
subplot(3,1,3),plot(t,a),grid
实验结果:
引擎关闭瞬间(60s)时的瞬时速度为267.2m/s,高度为12.2km,加速度为0.917m/(s^2)
到达最高点时(约71s)时,瞬时速度为0,高度为13.1km,加速度为-9.8m/(s^2)
部分数据如下:
第一阶段末:
t(s)v(m/s)h(m)
59.9600000000000267.22051746278312179.0949075245
59.9700000000000267.22967222083712181.7671854678
59.9800000000000267.23883130293312184.4395474148
59.9900000000000267.24799475986212187.1119932895
60267.25716264261112189.7845230156
第二阶段末:
t(s)v(m/s)h(m)
71.26000000000000.41432188518560913115.2971996489
71.27000000000000.31632017947136413115.3008528711
71.28000000000000.21831925490201713115.3035260775
71.29000000000000.12031887269588513115.3052192741
71.30000000000000.022318794167656413115.3059324645
图像如下:
V(速度)-t图像:
H(高度)-t图像:
a(加速度)-t图像:
实验总结:
由于龙格-库塔方法存在一定的误差,结果不一定完全符合实际情况。
由于刚开始使用函数.M文件,遇到了不少的麻烦,但是已经开始熟悉Matlab的操作环境,这道火箭发射的题关键在于方程组的建立,以及不能忽视地球的吸引力的影响。
实验二:
放射性物质
实验目的:
通过进行数学建模,计算装有放射性物质的容器会不会在掉入海底之前达到可以使其破损的速度。
实验分析:
此题可以建立常微分方程组,利用龙格-库塔方法求解。
Matlab实现(单位均为题目所给单位):
建立如下函数:
functionxdot=fangshe(t,x)
G=527.436;
k=0.08;
F=470.327;
xdot=[x
(2);(G-k/0.3048*x
(2)-F)*9.8/G/0.3048];
运行如下命令:
ts=0:
0.005:
13.7;
x0=[0,0];
[t,x]=ode45(@fangshe,ts,x0);
plot(x(:
,1),x(:
,2)),grid
部分数据如下:
速度超过40ft/s时:
h(ft)v(ft/s)
262.06439201302939.9677475522145
262.26426627304439.9819562690014
262.46421157380839.9961638491457
262.664227909640.010*********
262.864315274855.024*********
即将到达海底时:
h(ft)v(ft/s)
299.180********442.5070918706731
299.39338271779242.5210974497306
299.60602321665442.5351019083958
299.81873373500942.5491052467585
.0315********42.5631074649083
300.24436480779242.5771085629347
得到如下图像:
v(ft/s)-h(ft)
数值解结果:
在未到达海底之前速度已经超过40ft/s,工程师获得胜利。
解析解:
通过计算常微分方程:
求得:
再将上式积分得:
联立得:
利用matlab语句求解:
v=dsolve('Dv=3.4813357-0.016*v','v(0)=0','t')
得:
v=34813357/160000-(34813357*exp(-(2*t)/125))/160000;
进而
得:
h=217.583*t-217.583*125/2*exp(-(2*t)/125)-13598.968;
当v=40ft/s时,得t=12.696s,h=262.4887ft,因此在到达海底前已经破裂工程师获胜。
数值解数据如下:
在262.46~262.66ft之间速度达到40ft/s
262.46421157380839.9961638491457
262.664227909640.010*********
与解析解v=40ft/s时h=262.4887ft基本一致。
因此很好的验证了龙格库塔在解决非线性问题时的合理性。
求解析解图像:
在matlab中执行:
t=0:
0.005:
13.7;
v=34813357/160000-(34813357*exp(-(2*t)/125))/160000;
h=217.583*t+217.583*125/2*exp(-(2*t)/125)-13598.968;
plot(h,v),grid,axis([0350045])
得到如下解析解图像:
与数值解图像基本一致。
实验总结:
通过计算解析解,可以更好地验证matlab的数值解的合理性。
实验三:
小船过河问题
实验目的:
用解析和数值的方法分别分析小船过河的各种情况
实验分析:
此题可以设计二元微分方程组来进行求解,方程组如下:
(以出发点为原点,以AB射线为Y轴正向,以向右为X轴正向)
(1)解析解:
由本题微分方程表达式:
可以推出y-x的解析表达式,如下:
,其中c为待定常数,
为速度比。
代入初值条件
得
,所以有
,可以表示为x(y)的显示表达式:
。
利用matlab绘制出解析解的函数图象:
y=0:
0.1:
100;
x=-0.5*(-0.01)^0.5*(y-100).^1.5+0.5*(-0.01)^(-0.5)*(y-100).^0.5;
plot(x,y),grid,gtext('y(x)')
部分数据如下:
x(m)y(m)
00
0.050.10
0.100.20
0.150.30
…………
3.1599.60
2.7399.70
2.2399.80
1.5899.90
0100.00
解析解图像如下:
等待与接下来计算的数值解图像作对比。
(2)求数值解:
当d=100m,v1=1m/s,v2=2m/s,用matlab编写如下函数:
functiondx=guohe(t,x)
v1=1;v2=2;d=100;
b=sqrt(x
(1)^2+(d-x
(2))^2);
dx=[-x
(1)*v2/b+v1;(d-x
(2))*v2/b];
运行命令:
ts=0:
0.05:
66.7;
x0=[0,0];
[t,x]=ode45(@guohe,ts,x0);
[t,x]
plot(t,x),grid,gtext('x(t)'),gtext('y(t)'),pause
plot(x(:
1),x(:
2)),grid,gtext('y(x)')
部分数据如下:
t(s)x(m)y(m)
000
0.05000.09990.1000
0.10000.19980.2000
0.15000.29950.3000
0.20000.39920.4000
0.25000.49870.5000
0.30000.59820.6000
………………
66.50000.153899.9988
66.55000.103899.9987
66.60000.053999.9994
66.65000.0039100.0000
66.7000-0.0000100.0000
得到如下图像
:
航行轨迹:
过河时间为约66.7s
与解析解相比较,结果基本一致。
(3)
当v1=0时,改换函数中的参数并通过试探运行如下命令:
ts=0:
0.1:
50;
x0=[0,0];
[t,x]=ode45(@guohe,ts,x0);
[t,x]
plot(t,x),grid,gtext('x(t)'),gtext('y(t)'),pause
plot(x(:
1),x(:
2)),grid,gtext('y(x)')
部分数据如下:
当ts=0:
0.1:
50时:
t(s)x(m)y(m)
48.8500097.7000
48.9000097.8000
48.9500NaNNaN
49.0000NaNNaN
49.0500NaNNaN
49.1000NaNNaN
49.1500NaNNaN
49.2000NaNNaN
49.2500NaNNaN
49.3000NaNNaN
49.3500NaNNaN
49.4000NaNNaN
49.4500NaNNaN
49.5000NaNNaN
49.5500NaNNaN
49.6000NaNNaN
49.6500NaNNaN
49.7000NaNNaN
49.7500NaNNaN
49.8000NaNNaN
49.8500NaNNaN
49.9000NaNNaN
49.9500NaNNaN
50.00000100.0000
当ts=0:
0.1:
51时:
t(s)x(m)y(m)
49.6000099.2000
49.7000099.4000
49.8000099.6000
49.9000099.6488
50.0000099.5051
50.1000099.3006
50.2000099.1322
50.3000099.0617
50.4000099.1161
50.5000099.2874
50.6000099.5327
50.7000099.7741
50.80000100.0706
50.90000100.0154
51.0000099.8303
均存在一定的误差。
误差来源:
龙格库塔法针对的是非线性常微分方程的问题,而当v1=0时,已经变为线性方程,因而在结尾的部分会出现明显问题。
但是大体上其准确性还是值得信赖的。
得到如下图像:
y(t)和x(t)图像:
航行轨迹:
此种情况下小船直线横渡到对面的B位置。
过河时间为100/2=50s
当v1=0.5时,
运行程序:
ts=0:
0.05:
53.35;
x0=[0,0];
[t,x]=ode45(@guohe,ts,x0);
[t,x]
plot(t,x),grid,gtext('x(t)'),gtext('y(t)'),pause
plot(x(:
1),x(:
2)),grid,gtext('y(x)')
部分数据:
t(s)x(m)y(m)
000
0.05000.02500.1000
0.10000.04990.2000
0.15000.07490.3000
0.20000.09980.4000
……
53.20000.191499.9373
53.25000.120799.9664
53.30000.048699.9901
53.35000.0000100.0000
得如下图像:
航行轨迹:
到达时间是:
53.35s
与v1=1时相比较,该图像的x的峰值位置较远离y=100的直线
当v1=1.5时,
运行如下程序:
ts=0:
0.05:
114.3;
x0=[0,0];
[t,x]=ode45(@guohe,ts,x0);
[t,x]
plot(t,x),grid,gtext('x(t)'),gtext('y(t)'),pause
plot(x(:
1),x(:
2)),grid,gtext('y(x)')
部分数据:
t(s)x(m)y(m)
000
0.05000.07500.1000
0.10000.14980.2000
0.15000.22470.3000
……
114.15000.0564100.0000
114.20000.0314100.0000
114.25000.0064100.0000
114.30000.0000100.0000
有如下图像:
航行轨迹:
到达时间是:
114.3s
观察到随着v1的增加,x的峰值位置逐渐向y=100靠拢。
当v1=2m/s时,由于船速和水流速度相当,由矢量关系推测可能到达不了对面的目的地。
同上理运行matlab得到如下图像:
航行轨迹:
最终x的峰值位置到达y=100的直线上,
船停留在(49.7315,100)的位置上,无法到达B点
实验总结:
通过这个小船过河的实验,我们更加体会到matlab在解决实际问题中的价值,它能够很快的绘制出较为精确的图像,给人直观的感受。
但是龙格库塔法在处理线性问题时候显得并不十分准确。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二次 报告