数学建模实验报告(模版).doc
文本预览下载声明
理学院
数学建模实验报告
班级
姓名
学号
日期
一、实验内容
1、数学建模示例(三):药物中毒的施救
2、建立数学模型分析题(习题8(4)-(5))
3、微分方程数值解及MATLAB实现
实验题目
(一)题目一
题目:药物中毒施救模型延伸
问题分析
模型建立
解决方法(MATLAB程序代码):
实验结果
(二)题目二
1、题目:电梯问题 有r个人在一楼进入电梯,楼上有n层。设每个乘客在任何一层楼出电梯的概率相同,试建立一个概率模型,求直到电梯中的乘客下完时,电梯需停次数的数学期望。
2、问题分析
(1)由于每位乘客在任何一层楼出电梯的概率相同,且各种可能的情况众多且复杂,难于推导。所以选择采用计算机模拟的方法,求得近似结果。
(2)通过增加试验次数,使近似解越来越接近真实情况。
3、模型建立
建立一个n*r的二维随机矩阵,该矩阵每列元素中只有一个为1,其余都为0,这代表每个乘客在对应的楼层下电梯(因为每个乘客只会在某一层下,故没列只有一个1)。而每行中1的个数代表在该楼层下的乘客的人数。
再建立一个有n个元素的一位数组,数组中只有0和1,其中1代表该层有人下,0代表该层没人下。
例如:
给定n=8;r=6(楼8层,乘了6个人),则建立的二维随机矩阵及与之相关的应建立的一维数组为:
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程序代码):
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名,可获利9万元.今工厂共有原料60千克,工人150名,又由于其他条件所限甲饮料产量不超过8百箱.问如何安排生产计划,即两种饮料各生产多少使获利最大.进一步讨论:
1)若投资0.8万元可增加原料1千克,问应否作这项投资.
2)若每百箱甲饮料获利可增加1万元,问应否改变生产计划.
2、问题分析
(1)题目中共有3个约束条件,分别来自原料量、工人数与甲饮料产量的限制。
(2)目标函数是求获利最大时的生产分配,应用MATLAB时要转换成求其相反数最小时的生产分配。
(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
显示全部