Matlab数学建模实验报告Word下载.docx
- 文档编号:18537489
- 上传时间:2022-12-19
- 格式:DOCX
- 页数:15
- 大小:228.89KB
Matlab数学建模实验报告Word下载.docx
《Matlab数学建模实验报告Word下载.docx》由会员分享,可在线阅读,更多相关《Matlab数学建模实验报告Word下载.docx(15页珍藏版)》请在冰豆网上搜索。
则可以解得:
m=325/4-305/(4*exp(t/625))由此就可以画出质量的变化曲线。
实验所用软件及版本:
Matlab7.10.0
程序代码:
dsolve('
Dy=(1300-16*m)/10000'
'
y(0)=5'
x'
)%这个是解微分方程。
ezplot('
325/4-305/(4*exp(t/625))'
[0,2000])
title('
动物质量变化'
)
xlabel('
t'
ylabel('
m'
)%质量关于时间变化的曲线
实验结果:
解微分方程得到的结果为
>
dsolve('
D1y=(1300-16*y)/10000'
ans=
325/4-305/(4*exp(x/625))
作出的质量随时间变化曲线为:
从图中可以看出动物随着时间的推移,质量是递增的,不过递增的速率逐渐减小,最后趋于稳定。
通过带入数据计算可以得到的结果是如果动物活的时间足够长的话就可以达到质量最大值为81.25kg。
实验总结:
这个实验主要一开始没有想到把那个dmdt消去就比较纠结,不过总的来说是比较简单的。
从这我们可以知道在建立数学模型的时候有时候要有适当的忽略一些次要因素。
抓住主要因素来分析。
可以事半功倍。
实验二日期:
有关淘汰赛的比赛场次问题
37支球队进行冠军争夺赛,每轮比赛中出场的每两只队伍中的获胜者以及轮空者进入下一轮,直至比赛结束。
需要求出所进行的比赛总共有多少场。
把所有的队伍除以2,得到的整数部分就是这一轮的比赛场次,一直循环着除以2,知道最后整数部分为零。
把所得的所有场次累加就可以得到最终的总的比赛场次。
参赛队伍数m=37,m=m/2,比赛场次n=n+m(n的初值为0);
循环即可。
m=37;
n=0;
whilem>
1
m=m/2;
n=n+floor(m);
m=ceil(m);
end
n
m=37;
n=
36
可得,最终结果的总比赛场次为36场。
应该说这个实验算是很简单的一个了,所以做起来没什么难题。
实验三日期:
架设电缆的总费用
一条河宽1km,两岸各有一个城镇A与B,A与B的直线距离为4km,今需铺设一条电缆连接A于B,已知地下电缆的铺设费用是2万元/km,水下电缆的修建费用是4万元/km。
通过建立适当的模型,算出如何铺设电缆可以使总花费最少。
如图中所示,A-C-D-B为铺设的电缆路线,我们就讨论a=30度,AE(A到河岸的距离)=0.5km,则图中:
DG=4-ACcosb-1/tanc;
BG=0.5kmAC=AE/sinb
CD=EF/sinc=1/sincBD=
则有总的花费为:
W=2*(AC+BD)+4*CD;
我们所要做的就是求最优解。
b1=0;
c1=0;
BG=0.5;
Wmin=100;
forb=0:
0.1:
pi/2
forc=0:
AC=0.5/sin(b);
CD=1/sin(c);
DG=abs(4-AC*cos(b)-1/tan(c));
BD=sqrt(DG^2+BG^2);
w=2*(AC+BD)+4*CD;
b
c
w
ifw<
Wmin
c1=c;
b1=b;
Wmin=w;
end
b1
c1
b1=
0.3000
c1=
1.1000
Wmin=
11.7526
由此我们可以知道当b=0.3,c=1.1时可以使得修建电缆的费用为最低的w=11.7526万元。
当然我们可以使b在0.2~0.4,c在1.0到1.2之间取更小的步幅来算出更加准确的值。
0.2820
1.0700
11.7491
这是步长为0.001时的取值。
也就是当b=0.282,c=1.070时可以使花费最少为11.7491万元。
这个题目可能是我题目没看好,就把A,B两个城镇不放在岸边,而是离岸还有一定的距离,所以做起来也没那么好做。
总觉得还有不足,还请老师指导!
实验四日期:
慢跑者与狗
一个慢跑者在平面上沿曲线
以恒定的速度v从(5,0)起逆时钟方向跑步,一直狗从原点一恒定的速度w,跑向慢跑者,在运动的过程中狗的运动方向始终指向慢跑者。
用matlab编程讨论不同的v和w是的追逐过程。
人的坐标为(manx,many),狗的坐标为(dogx,dogy),则时间t时刻的人的坐标可以表示为
manx=R*cos(v*t/R);
many=R*sin(v*t/R);
sin
=|(many-dogy)/sqrt((manx-dogx)^2+(many-dogy)^2)|;
cos
=|(manx-dogx)/sqrt((manx-dogx)^2+(many-dogy)^2)|;
则可知在t+dt时刻狗的坐标可以表示为:
dogx=dogx(+/-)w*cos
*dt;
dogy=dogy(+/-)w*sin
(如果manx-dogx>
0则为正号,反之则为负号)
R=5;
v=6;
w=4;
dogx=0;
dogy=0;
manx=R;
many=0;
t=0;
dt=0.05;
while(sqrt((manx-dogx)^2+(many-dogy)^2)>
0.1)
yuxian=abs(manx-dogx)/sqrt((manx-dogx)^2+(many-dogy)^2);
zhengxian=abs(many-dogy)/sqrt((manx-dogx)^2+(many-dogy)^2);
manx=R*cos(v*t/R);
many=R*sin(v*t/R);
ifmanx>
=dogx
fxx=1;
else
fxx=-1;
ifmany>
=dogy
fxy=1;
fxy=-1;
dogx=dogx+fxx*w*yuxian*dt;
dogy=dogy+fxy*w*zhengxian*dt;
plot(manx,many,’b*’,dogx,dogy,’r+’)
holdon
axis([-5,5,-5,5])
pause(0.001)
t=t+dt;
t
当人的速度为6m/s,狗的为4m/s时:
说明追不上。
当狗的速度为6m/s,人的速度为4m/s时
追上了,且时间为t=1.8。
这个实验算是第一次接触的通过matlab来描绘出一个动态的轨迹问题。
做起来比较有意思。
也让自己学会了如何更加正确的去分析建立一个数学模型从而解决问题。
实验五日期:
两圆的相对滚动
有一个小圆在大圆内沿着大圆的圆周无滑动的滚动。
用matlab编程探讨小圆上一点的运动轨迹。
设小圆滚动的线速度为0.5m/s,则有:
a=vt/R,又有Ra=rb
可以得到t时刻小圆的圆心坐标为:
Ox=(R-r)*cos(v*t/R);
Oy=(R-r)*sin(v*t/R);
我们研究的是起始点坐标为(5,0)这点的轨迹,这个点的坐标可以表示为:
x1=Ox+r*cos(v*t/r-v*t/R);
y1=Oy-r*sin(v*t/r-v*t/R);
则可以根据圆心坐标做圆的滚动同时根据点(x1,y1)坐标来画出这个点的轨迹。
r=1;
dt=1;
v=0.5;
x0=5;
y0=0;
x1=[];
y1=[];
fort=0:
dt:
100
Ox=(R-r)*cos(v*t/R);
Oy=(R-r)*sin(v*t/R);
m=Ox+r*cos(v*t/r-v*t/R);
n=Oy-r*sin(v*t/r-v*t/R);
axis([-5,5,-5,5]);
ezplot('
x^2+y^2-25'
);
holdon
fort=0:
0.01:
2*pi
x2=Ox+r*cos(t);
y2=Oy+r*sin(t);
plot(x2,y2,'
r'
x1=[x1,m];
y1=[y1,n];
plot(x1,y1,'
b*'
holdoff
pause(0.0001);
(转下页)
当大圆半径为R=5,小圆半径r=1,速度为v=0.5时可以得到轨迹为:
对于这个实验和第四个实验慢跑者与狗有点异曲同工的意思,主要是对于在这个运动过程中那个轨迹点的分析要准确。
这样就可以比较容易快速的作出轨迹。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Matlab 数学 建模 实验 报告