您好,欢迎访问三七文档
数学建模实验报告1一、实验目的1、通过具体的题目实例,使学生理解数学建模的基本思想和方法,掌握数学建模分析和解决的基本过程。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个人),则建立的二维随机矩阵及与之相关的应建立的一维数组为:m=001000100000000000010000000000000001000010000100c=110101114、解决方法(MATLAB程序代码):2n=10;r=10;d=1000;a=0;forl=1:dm=full(sparse(randint(1,r,[1,n]),1:r,1,n,r));c=zeros(n,1);fori=1:nforj=1:rifm(i,j)==1c(j)=1;break;endcontinue;endends=0;forx=1:nifc(x)==1s=s+1;endcontinue;enda=a+s;enda/d5、实验结果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)扩展讨论部分只需将模型中部分参数修改即可。3、模型建立(1)设定变量:x(1)表示甲饮料产量,x(2)表示甲饮料产量,z表示总获利。(2)线性规划模型:z=10*x(1)+9*x(2)6*x(1)+5*x(2)=6010*x(1)+20*x(2)=150x(1)=84、解决方法(MATLAB程序代码)c=[-10,-9];A=[6,5;10,20;1,0];b=[60,150,8];x=linprog(c,A,b);x=floor(x);xz=10*x(1)+9*x(2);z5、实验结果x=64z=96扩展1)将参数b改为[61,150,8],得到结果为:x=64z=96投资后,总利润并没有增加,而且花费了投资成本。所以,不应该作这项投资。扩展2)将参数c改为[-11,-9],得到结果为:x=72z=88每百箱甲饮料获利增加1万元,若按模型改变生产计划,则总利润反而会减小。所以,不应改变生产计划。4(三)题目三1、问题:27个立方形排成3*3*3的三维阵列。如果三个盒子在同一水平线上,或同一条垂直线上,或同一条对角线上,则认为三盒一线,这样的线共有49条:水平线18条,垂直线9条,水平面对角线6条,垂直面对角线12条,对角面对角线4条。现有白球13个,黑球14个,每个盒子中放入一球,如何投放,使有单一色球的线数最少?2、问题分析(1)题目属于排列组合问题,情况较多且规律性不强,因此难于使用理论推导,故考虑采用计算机模拟。(2)根据题目信息,找出形成单一色球线的各种情况的一些规律,统计每种情况下单色球线数,并计录比较出最小情况。3、模型建立(1)建立一个27个单元的一维向量数组,分别代表27格方格单元,列出49种出现单色线的情况。(2)建立计数器,记录每种情况下的单色球线数并比较出最少情况4、解决方法(MATLAB程序)由于程序较长,此处只给出部分代码。建立模拟向量及计数器:a=zeros(1,27);sum=49;insert=zeros(1,14);统计各种情况单色线数:fori=1:9temp=linecolor(a(3*i)+a(3*i+1)+a(3*i+2));iftemp0templine=templine+1;endendfori=1:9:26forj=1:3temp=linecolor(a(i)+a(i+3)+a(i+6));i=i+1;iftemp0templine=templine+1;endendi=i-3;endfori=1:95temp=linecolor(a(i)+a(i+9)+a(i+18));iftemp0templine=templine+1;endendfori=1:26temp1=linecolor(a(i)+a(i+4)+a(i+8));temp2=linecolor(a(i+2)+a(i+4)+a(i+6));iftemp10templine=templine+1;endiftemp20templine=templine+1;endendfori=1:3:7temp1=linecolor(a(i)+a(i+10)+a(i+20));temp2=linecolor(a(i+2)+a(i+10)+a(i+18));iftemp10templine=templine+1;endiftemp20templine=templine+1;endendfori=1:3temp1=linecolor(a(i)+a(i+12)+a(i+24));temp2=linecolor(a(i+6)+a(i+12)+a(i+18));iftemp10templine=templine+1;endiftemp20templine=templine+1;endendtemp1=linecolor(a(0)+a(13)+a(26));temp2=linecolor(a(8)+a(13)+a(18));temp3=linecolor(a(2)+a(13)+a(24));temp4=linecolor(a(6)+a(13)+a(20));iftemp10templine=templine+1;endiftemp20templine=templine+1;endiftemp30templine=templine+1;endiftemp40templine=templine+1;end子函数:functionr=linecolor(n)ifn==3||n==0r=1;elser=0;endreturn;5、实验结果sum=4insert=123581215181921222527即最少单色球线数为4条,其中放黑球单元为:1235812151861921222527。(四)题目四1、问题:在某海域测得一些点(x,y)处的水深z由下表给出,穿的吃水深度为5英尺,在矩形区域(75,200)*(-50,150)里的哪些地方船要避免进入。2、问题分析分析该区域内各个地方的水深情况,比较各点的水深与船的吃水深度,深度小于或等于船的吃水深度的地方即为船要避免进入的危险区域。3、模型建立(1)利用插值法,得到海底各处深度的分布情况,并画出海底地貌图像。(2)通过与船吃水深度的条件比较,得到危险区域的平面图。4、解决方法(MATLAB程序)画出此区域海底深度图像:x=[129,140,103.5,88,185.5,195,105,157.5,107.5,77,81,162,162,117.5];%x=sort(x);y=[7.5,141.5,23,147,22.5,137.5,85.5,-6.5,-81,3,56.5,-66.5,84,-33.5];%y=sort(y);z=[-4,-8,-6,-8,-6,-8,-8,-9,-9,-8,-8,-9,-4,-9];[X,Y,Z]=griddata(x,y,z,linspace(75,200)',linspace(-75,150),'v4');surf(X,Y,Z)画出深度为5英尺的等深线:contour(X,Y,Z,[-5,-5],'r.')5、实验结果xyz129140103.588185.51951057.5141.52314722.5137.585.54868688xyz157.5107.57781162162117.5-6.5-81356.5-66.584-33.599889497下图中红色等深线内为危险区域。8(五)题目五1、问题:一位四年级大学生正在从若干个招聘单位中挑选合适的工作岗位,他考虑的主要因素包括发展前景、经济收入、单位信誉、地理位置等。试建立模型给他提出决策建议。2、问题分析(1)这是一个决策问题,是半定性、半定量的。因此,考虑使用层次分析法进行分析解决。(2)将问题分解为若干层次和若干因素,在各因素之间进行简单的比较和计算,得出不同方案的权重。3、模型建立(1)假设设定:有3家公司,分别是百度、腾讯与阿里巴巴。选择中考虑的主要因素为:发展前景、经济收入、单位信誉和地理位置。分别用x1、x2、x3、x4代表这四个因素,y代表综合评价参数,w代表权值向量。所以,综合评价方程模型可设为:y=w1x1+w2x2+w3x3+w4x4(2)主要数据:(将评价转换成百分制分数)公司\因素发展前景经济收入单位信誉地理位置百度934000元/月(80)90北京(85)腾讯914400元/月(88)86深圳(88)阿里巴巴943800元/月(76)89杭州(90)3)层次分析图:94、解决方法赋值:x1/x2=3/4;x1/x3=3/2;x1/x4=3/2;x2/x3=2;x2/x4=2;x3/x4=1.则该问题的判断矩阵为:A=1,3/4,3/2,3/24/3,1,2,22/3,1/2,1,12/3,1/2,1,1经过一下MATLAB程序可求出各因数在综合评价中的权值:A=[1,3/4,3/2,3/2;4/3,1,2,2;2/3,1/2,1,1;2/3,1/2,1,1];[n,n]=size(A);p=ones(n,100);q=ones(n,100);m=zeros(1,100);m(1)=max(p(:,1));q(:,1)=p(:,1);p(:,2)=A*q(:,1);m(2)=max(p(:,2));q(:,2)=p(:,2)/m(2);l=0.0001;i=2;k=abs(m(2)-m(1));whilekpi=i+1;p(:,i)=A*q(:,i-1);m(i)=max(p(:,i));q(:,i)=p(:,i)/m(i);k=abs(m(i)-m(i-1));enda=sum(q(:,i));w=q(:,i)/a;t=m(i);w5、实验结果综合评价的权值向量为:w=0.27270.3636100.18180.1818所以综合评价方程为:y=0.2727x1+0.3636x2+0.1818x3+0.1818x4.那么三家公司的综合评价得分为:百度:y=0.2727*93+0.3636*80+0.1818*90+0.1818*85.=86.2641腾讯:y=0.2727*91+0.3636*88+0.1818*86+0.1818*88.=88.4457阿里巴巴:y=0.2727*94+0.3636*
本文标题:数学建模实验报告
链接地址:https://www.777doc.com/doc-6333905 .html