数学建模的实验报告Word文件下载.docx
《数学建模的实验报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《数学建模的实验报告Word文件下载.docx(10页珍藏版)》请在冰豆网上搜索。
0.1:
20;
y=10./sqrt((25.+x.^2)^3)+18./sqrt((36.+(20-x).^2).^3);
plot(x,y)
gridon;
在图中的0-20米范围内可得到路灯在路面照明的最亮点和最暗点
1对Ix求导:
symsx
f=10./sqrt((25.+x.^2)^3)+18./sqrt((36.+(20-x).^2).^3)
2运用MATLAB求出极值点
s=solve('
(-30*x)/((25+x^2)^(5/2))+(54*(20-x))/((36+(20-x)^2)^(5/2))'
);
s1=vpa(s,8)
s1=
.28489970e-1
8.5383043+11.615790*i
19.976696
9.3382991
8.5383043-11.615790*i
③根据实际要求,x应为正实数,选择19.9767、9.3383、0.02849三个数值,通过MATLAB计算出相应的I值:
I=10/(25+x^2)^(3/2)+18/(36+(20-x)^2)^(3/2);
subs(I,x,19.9767)
subs(I,x,9.3383)
subs(I,x,0.02849)
ans=
0.0845
0.0182
1.820
x
0.02849
9.33829
19.9766
I
0.0820
0.0845
综上,在19.3米时有最亮点;
在9.33米时有最暗点
2.当h1=5m,3m<
h2<
9m时:
1对h2求偏导,并令其为0:
②运用MATLAB求出极值点
solve('
3/((h^2+(20-x)^2)^(3/2))-3*(3*h^2)/((h^2+(20-x)^2)^(5/2))=0'
)
ans=
20+2^(1/2)*h
20-2^(1/2)*h
3对x求偏导,并令其为0:
4通过MATLAB,将步骤②中计算出的关于h2的表达式带入上式,并求出h2的值;
-30*(20-2^(1/2)*h)/((25+(20-2^(1/2)*h)^2)^(5/2))+9*h*(20-(20-2^(1/2)*h))/((h^2+(20-(20-2^(1/2)*h))^2)^(5/2))=0'
ans=
7.4223928896768612557104509932965
⑤通过MATLAB,利用已求得的h2,计算得到x,并进一步计算得到I
h=7.42239;
x=20-2^(1/2)*h
I=10/((25+x^2)^(3/2))+(3*h)/((h^2+(20-x)^2)^(3/2))
x=
9.5032
I=
0.0186
3.当h1,h2均在3m-9m之间时:
①同上,通过MATLAB求解下面的方程组:
p1/(h1^2+x^2)^(3/2)-3*p1*h1^2/(h1^2+x^2)^(5/2)'
)
2^(1/2)*h1
-2^(1/2)*h1
20-2^(1/2)*h
②根据实际,选择x=h1,x=20-h2,带入第三个式中,得:
③利用MATLAB,求得x值:
1/((20-x)^3)=2/(3*(x^3))'
s1=vpa(s,6)
9.32530
7.33738+17.0093*i
7.33738-17.0093*i
4按照实际需求,选择x=9.32525
5带入求解I,并比较得到亮度最大的最暗点
h1=(1/sqrt
(2))*9.32525
h2=(1/sqrt
(2))*(20-9.32525)
h1=
6.5939
h2=
7.5482
四、计算结果
0.028489970
9.3382991
19.976695
20
I(x)
0.08197716
0.08198104
0.01824393
0.08447655
0.08447468
x=9.33m时,为最暗点,I=0.01824393;
x=19.97m时,为最亮点,I=0.08447655。
x=9.5032,h2=7.42239时,路面上最暗点的亮度最大,I=0.0186w。
3.当h1,h2均在3m-9m之间时:
h1=6.5939,h2=7.5482,x=9.32525时,路面上最暗点的亮度最大。
2火箭问题
小型火箭初始重量为1400kg,其中包括1080kg燃料。
火箭竖直向上发射时燃料的燃烧率为18kg/s,由此产生32000N的推力,火箭引擎在燃料用尽时关闭。
设火箭上升时的空气阻力正比于速度的平方,比例系数为0.4kg/m。
求引擎关闭瞬间火箭的高度、速度、加速度,及火箭到达最高点时的高度和加速度,并画出高度、速度、加速度随时间变化的图形。
解析:
火箭上总共携带燃料1080kg,燃料燃烧率为18kg/s,火箭上升时间t=60s时,燃料全部烧尽。
阻力正比于速度的平方,比例系数0.4kg/m,可知阻力表达式为f=0.4v2。
由于燃料燃烧,火箭的质量是时间的函数,
m(t)=11400-18t
火箭升空速度和加速度变化可分为两个阶段;
第一阶段:
燃料燃烧产生的推力恒定,随着燃料的不断消耗,火箭的质量m降低,可得出火箭的速度v以及加速度a是变化的,由牛顿第二定律,根据速度与时间关系,建立微分方程组。
第二阶段,燃料耗尽,此时火箭的质量m恒定。
引擎关闭的瞬间,火箭剩余质量:
m=1400-1080=320kg,由于火箭运动受到阻力的作用,火箭先加速,后减速。
火箭将达到最高速度。
五、算法与编程
由题目已知条件可设置变量:
加速度a质量m时间t速度v合力f
求出有关于v的微分方程
第一阶段
clear
symsamtvf
m=1400-18*t
f=32000-0.4*v^2-9.8*m
a=f/m
m=
1400-18*t
f=
18280+882/5*t-2/5*v^2
a=
(18280+882/5*t-2/5*v^2)/(1400-18*t)
odefun=@(t,v)(18280+882/5*t-2/5*v^2)/(1400-18*t);
s=cumsum(v).*0.1;
subplot(2,2,1)
plot(t,s);
gridon
xlabel('
时间'
ylabel('
高度'
title('
1.h/t'
)
[t,v]=ode45(odefun,[0:
60],[0]);
subplot(2,2,2)
plot(t,v);
速度'
2.v/t'
a=diff(v)/0.1;
t2=[0:
59.9];
subplot(2,2,3)
plot(t2,a);
加速度'
3.a/t'
第二阶段
火箭由重力作用上升,燃料耗尽后火箭质量为320kg。
由牛顿第二定律
可再次列出微分方程,t>
60s.
记y=(h,v)T
functiondy=Rocket(t,y)
dy=[v;
-9.8-0.4*v.^2/320];
ts=0:
60
x0=[0,0];
[t,x]=ode45(@Rocket,ts,x0);
[t,x]
forn=1:
2000
T=100-0.01*n;
tss=60:
0.02:
T;
y0=[x(61,1),x(61,2)];
option=odeset('
reltol'
1e-3,'
abstol'
1e-6);
[t2,y]=ode45(@Rocket,tss,y0,option);
[t2,y];
ify(:
2)>
=0
break
end
plot(t,x(:
1),'
b'
t2,y(:
r'
),grid,
图1.高度-时间'
t/s'
h/m'
pause
2),'
),grid,
图2.速度-时间'
v/(m/s)'
pause
a=(32000-0.4*x(:
2).^2)./(1400-18*t)-9.8;
a2=-9.8-0.4*y(:
2).^2/320;
plot(t,a,'
t2,a2,'
图3.加速度-时间'
a/(m/s^2)'
六、计算结果
由MATLAB求解得:
引擎关闭瞬间引擎关闭瞬间:
火箭的高度为h=12190m,速度v=267.26m/s,加速度a=0.91701m/s2。
引擎关闭后:
当t=71.31s时,火箭上升到最大高度h=13115m,此时火箭的速度v=0.019874,几乎可认为已经停止,加速度a=-9.8m/s2。