数学建模实验报告
萌到你眼炸
642次浏览
2021年01月30日 01:24
最佳经验
本文由作者推荐
个人自查报告-钝的拼音
数学建模实验报告
一、实验目的
1
、
通过具体的题目实例,使学生理解数学建模的基本思想和方法,掌握
数学建模分析和解决的基本过程。< br>
2
、
培养学生主动探索、努力进取的的学风,增强学生 的应用意识和创新
能力,为今后从事科研工作打下初步的基础。
二、
实
验题目
(一)题目一
1
、题目:
电梯问题
有
r
个人在一楼进入电梯,楼上有
n
层。设每个
乘客在任何一层楼出电梯的概率相同,试建立一个概率模型,求直
到电梯中的乘客下完时,电梯需停次数的数学期望。
2
、问题分析
(
1
)由于每位 乘客在任何一层楼出电梯的概率相同,且各种可能
的情况众多且复杂,难于推导。所以选择采用计算机模 拟的
方法,求得近似结果。
(
2
)通过增加试验次数,使近似解越来越接近真实情况。
3
、模型建立
建立一个
n*r
的二维随机矩阵,该矩阵每列元素中只有一个
为
1
,其余都为
0
, 这代表每个乘客在对应的楼层下电梯(因为每
个乘客只会在某一层下,故没列只有一个
1
)
。而每行中
1
的个数
代表在该楼层下的乘客的人数。
再建立一个有
n
个元素的一位数组,数组中只有
0
和
1,
其 中
1
代表该层有人下,
0
代表该层没人下。
例如:
给定
n=8;r=6
(楼
8
层,乘了6
个人)
,
则建立的二维随机矩
阵及与之相关的应建立的一维数组为:< br>
m =
0 0 1 0 0 0
1 0 0 0 0 0
0 0 0 0 0 0
0 1 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 1
0 0 0 0 1 0
0 0 0 1 0 0
c = 1 1 0 1 0 1 1 1
4
、解决方法(
MATLAB
程序代码)
:
1
n=10;r=10;d=1000;
a=0;
for l=1:d
m=full(sparse(randint(1,r,[1,n]),1:r,1,n,r));
c=zeros(n,1);
for i=1:n
for j=1:r
if m(i,j)==1
c(j)=1;
break;
end
continue;
end
end
s=0;
for x=1:n
if c(x)==1
s=s+1;
end
continue;
end
a=a+s;
end
a/d
5
、实验结果
ans = 6.5150
那么,当楼高
11
层,乘坐
10
人时,电梯
需停次数的数学期望为
6.5150
。
(二)题目二
1
、问题:
某厂生产甲乙两种 口味的饮料
,
每百箱甲饮料需用原料
6
千克
,
工人
10
名
,
可获利
10
万元
;
每百箱乙饮料需用原料
5
千
克
,
工人
20
名
,
可获利< br>9
万元
.
今工厂共有原料
60
千克
,
工人< br>150
名
,
又由于其他条件所限甲饮料产量不超过
8
百箱.
问如何
安排生产计划
,
即两种饮料各生产多少使获利最大
.< br>进一步讨
论
:
1)
若投资
0.8
万元可增加原料
1
千克
,
问应否作这项投资
.
2)
若每百箱甲饮料获利可增加
1
万元
,
问应否改变生产计划
.
2
、问题分析
(
1< br>)题目中共有
3
个约束条件,分别来自原料量、工人数与甲饮
料产量的限制。< br>
(
2
)目标函数是求获利最大时的生产分配,应用
MATLAB
时要转换
2
成求其相反数最小时的生产分配。
(3)
扩展讨论部分只需将模型中部分参数修改即可。
3
、模型建立
(
1
)设定变量:
x(1)
表示甲饮料产量,
x(2)
表示甲饮料产量,
z
表示总获利。
(
2
)线性规划模型
:
z=10*x(1)+9*x(2)
6*x(1)+5*x(2)<=60
10*x(1)+20*x(2)<=150
x(1)<=8
4
、解决方法(
MATLAB
程序代码)
c=[-10,-9];
A=[6,5;10,20;1,0];
b=[60,150,8];
x=linprog(c,A,b);
x=floor(x);
x
z=10*x(1)+9*x(2);
z
5
、实验结果
x =
6
4
z = 96
扩展
1
)
将参数
b
改为
[61,150,8],
得到结果为:
x =
6
4
z = 96
投资后,总利润并没有增加,而且花费了投资成本。所以,不应该
作这项投资。
扩展
2
)
将参数
c
改为
[-11,-9 ],
得到结果为:
x =
7
2
z = 88
每百箱甲饮料获利增加
1
万元,若按模型改变生产计划,则总利润
反而会减小。所以,不应改变生产计划。
3
(三)题目三
1
、问题:
27
个立方形排成
3* 3*3
的三维阵列。如果三个盒子在同一水
平线上,
或同一条垂直线上,
或同 一条对角线上,则认为三盒一线,
这样的线共有
49
条:水平线
18
条,垂直线
9
条,水平面对角线
6
条,垂直面对角线
12
条 ,对角面对角线
4
条。
现有白球
13
个,黑球
1 4
个,每个盒子中放入一球,如何投放,
使有单一色球的线数最少?
2
、问题分析
(
1
)题目属于 排列组合问题,情况较多且规律性不强,因此难于
使用理论推导,故考虑采用计算机模拟。
(
2
)根据题目信息,找出形成单一色球线的各种情况的一 些规律,
统计每种情况下单色球线数,并计录比较出最小情况。
3
、模型建立
(
1
)建立一个
27
个单元的一维向量数组,分别代表
27
格方格单
元,列出
49
种出现单色线的情况。
(
2
)建立计数器,记录每种情况下的单色球线数并比较出最少情
况
4
、解决方法(
MATLAB
程序)
由于程序较长,此处只给出部分代码。
建立模拟向量及计数器:
a=zeros(1,27);
sum=49;
insert=zeros(1,14);
统计各种情况单色线数:
for i=1:9
temp=linecolor(a(3*i)+a(3*i+1)+a(3*i+2));
if temp>0 templine=templine+1; end
end
for i=1:9:26
for j=1:3
temp=linecolor(a(i)+a(i+3)+a(i+6));
i=i+1;
if temp>0 templine=templine+1; end
end
i=i-3;
end
for i=1:9
4