201209014119房超数学模型综合性实验报告.doc
华北科技学院基础部综合性实验实 验 报 告 课程名称 数学模型 实验学期 2013 至 2014 学年 第 2 学期学生所在系部 基础部 年级 12 专业班级 计算B121 学生姓名 房超 学号 201209014119 任课教师 谭立云 实验成绩 数学建模课程综合性实验报告开课实验室: 数学应用实验室 2014 年 6 月 19 日实验题目评价与预测模型一、 实验目的 1.掌握综合评价方法。 2.掌握预测方法。 3.综合培训建模能力。二、设备与环境 MATLAB 软件等三、 实验内容及要求 1.某地区用水管理机构需要对居民的用水速度(单位时间的用水量)和日总用水量进行估计。现有一居民区,其自来水由一圆柱形水塔提供,水塔高12.2m,塔的直径为17.4m。水塔是由水泵根据塔中的水位自动加水。按照设计,当水塔中的水位降低至最低水位(约8.2m)时,水泵自动启动加水,当水位升高至最高位(约10.8m)时,水泵停止工作。 下表给出的是28个时刻的数据,但由于水泵正向水泵供水,有4个时刻无法测得到水位(表中为-)。时刻(t)/h00.921.842.953.844.985.9水位/m9.689.489.319.138.988.818.69时刻(t)/h7.017.938.979.9810.9210.9512.03水位/m8.528.398.22-10.8210.5时刻(t)/h12.9513.8814.9815.916.8317.9319.04水位/m10.219.949.659.419.188.928.66时刻(t)/h19.9620.8422.0122.9623.8824.9925.91水位/m8.438.22-10.5910.3510.18 试建立数学模型,来估计居民的用水速度和日总用水量。 2.已知兰彻斯特的游击战争模型如下: 其中:参数才c,d, ,的值未知。现在有连续20天的观测数据表如下,拟合参数c,d, ,。t12345678910x15001400132011001000950880800700680y1200112010801060980930870790680670t11121314151617181920x620600570520500450440420400390y6005905605004804204003703503303. 1989年度西山矿务局五个生产矿井实际资料如下表所示,对西山矿务局五个生产矿井1989年的企业经济效益进行效益综合评价。指标白家庄矿杜家坪矿西铭矿官地矿西曲矿原煤成本99.89103.6997.42101.1197.21原煤利润96.91124.7866.44143.9688.36原煤产量102.63101.78104.39100.64100.64原煤销售量98.47103.16109.17104.3991.90商品煤成分87.5190.2793.7794.3385.21全员效率108.35106.39142.35121.91158.61流动资金周转天数71.67137.1697.65171.31204.52资金回收率103.2510010099.13100.22百万吨死亡率171.251.3515.953.7220.78四、 实验结果及分析 1、解:拟合法。要估计在任意时刻(包括水泵灌水期间)t居民的用水速度和日总用水量,分以下三步。 水塔中水的体积计算。计算水的流量,首先需要计算出水塔中水的体积,即: 式中,D为水塔的直径;h为水塔中的水位高度。水塔中水流速度的估计。居民的用水速度就是水塔中的水流速度,水流速度应该是水塔中水的体积对时间的导数,但由于没有每一时刻水体积的具体数学表达式,只能用差商近似导数。由于在两个时段,水泵向水塔供水,无法确定水位的高度,因此在计算水塔中水流速度时要分三段计算。第一段从0h到8.97h,第二段从10.95h到20.84h,第三段从23.88h到25.91h。上面计算仅给出流速的离散值,如果需要得到流速的连续型曲线,需要做差值处理,这里使用三次样条插值。日总用水量的计算。日用水量是对水流速度作积分,其积分区间是0,24,可以采用数值积分的方法计算。用Matlab软件计算时,首先把原始数据粘贴到纯文本文件data151中,并且把“”替换为数值-1,。计算的Matlab程序如下: clc,clear a=load('data151.txt'); t0=a(1:2:end,:);t0=t0't0=t0(:);%提出时间数据,并展开成列向量 h0=a(2:2:end,:);h0=h0'h0=h0(:);%提出高度数据,并展开成列向量 D=17.4; V=pi/4*D2*h0;%计算各时刻的体积 dv=gradient(V,t0);%计算各时刻的数据导数(导数近似值) no1=find(h0=-1)%找出原始无效数据的地址 no2=no1(1)-1:no1(2)+1,no1(3)-1:no1(4)+1%找出导数数据的无效地址 t=t0;t(no2)=;%删除导数数据无效地址对应的时间 dv2=-dv;dv2(no2)=;%给出各时刻的流速 plot(t,dv2,'*')%画出流速的散点图 pp=csape(t,dv2);%对流速进行插值 tt=0:0.1:t(end);%给出插值点 fdv=ppval(pp,tt);%计算各插值点的流速值 hold on,plot(tt,fdv)%画出插值曲线 I=trapz(tt(1:241),fdv(1:241)%计算24h内总流量的数值积分运行结果: no1 = 11 12 24 25 no2 = 10 11 12 13 23 24 25 26 I = 1.2483e+003画出的流速图如图1所示。求得的日用水总量为1248.3m3。 图1 流速的散点图和样条插值函数图 2、解:微分方程对应的差分方程为可以改写成 -x(k)y(k) -x(k) 0 0 0 0 -x(k)y(k) -y(k) =上述所有的差分方程可以改写成矩阵形式,即 -x(1)y(1) -x(1) 0 0 c -x(19)y(19) -x(19) 0 0 0 0 -x(1)y(19) -y(1) d 0 0 -x(19)y(19) -y(19) = 利用最小二乘法,求得 拟合的Matlab程序如下: clc,clear a=1500 1400 1320 1100 1000 950 880 800 700 680 1200 1120 1080 1060 980 930 870 790 680 670 11 12 13 14 15 16 17 18 19 20 620 600 570 520 500 450 440 420 400 390 600 590 560 500 480 420 400 370 350 330; x=a(1,4,:);x=x'x=x(:); y=a(2,5,:);y=y'y=y(:); dx=diff(x); dy=diff(y); temp=x(1:end-1).*y(1:end-1); a=-temp -x(1:end-1) zeros(19,2);zeros(19,2) -temp -y(1:end-1); b=dx;dy; solution=ab结果: solution = 0.0000 0.0389 -0.0000 0.0921 3、解:用分别表示评价的指标变量原煤成本、原煤利润、原煤产量、原煤销售量、商品煤灰分、全员效率、流动资金周转天数、资源回收率、百万吨死亡率。其中是 成本型指标,其余变量是效益型指标。这里评价对象有5个,分别是白家庄矿、杜家坪矿、西铭矿、官地矿、西曲矿,第i个评价对象关于第j个指标变量xj的取值记为,对应的数据矩阵。我们使用TOPSIS方法进行评价,评价的步骤如下。(1) 对数据进行标准化,成本指标的标准化公式为 效益指标的标准化公式为 式中:是第j个指标变量取值的最大值;是第j个指标变量取值的最小值。标准化的数据矩阵记为。(2)求正理想解和负理想解,设正理想解的第j个指标值为,负理想解的第j个指标值为,则正理想解负理想解(3) 计算各评价对象到正理想解与负理想解的距离。 第i评价对象到正理想解的距离为 第i评价对象到负理想解的距离为 (4)计算个方案的排队指标值(即综合评价值) (5)按由大到小排列方案的优劣次序。 利用Matlab程序计算得到的综合评价值如表2所列,综合排名次序依次为西铭矿、白家庄矿、西曲矿、杜家坪矿、官地矿。 表2 评价的指标值白家庄矿杜家坪矿西铭矿官地矿西曲矿1.77021.96631.62462.09792.0141.86691.48022.25961.55282.02190.51330.42590.58170.42530.501 计算的Matlab程序如下: clc,clear a=load('data141.txt'); a=a' m,n=size(a); for j=1 5 7 9 b(:,j)=(max(a(:,j)-(a(:,j)/(max(a(:,j)-min(a(:,j); end for j=2:4,6,8 b(:,j)=(a(:,j)-min(a(:,j)/(max(a(:,j)-min(a(:,j); end cstar=max(b);c0=min(b); for i=1:m dstar(i)=norm(b(i,:)-cstar); d0(i)=norm(b(i,:)-c0); end f=d0./(dstar+d0); sf,ind=sort(f,'descend') xlswrite('book.xls',dstar;d0;f)结果: sf = Columns 1 through 4 0.581737852346617 0.513298358782985 0.500976493626414 0.429481587337163 Column 5 0.425340905952567 ind = 3 1 5 2 4五、 总结这学期学习了数学建模,使我感触良多:它所教给我们的不单是一些数学方面的知识,更多的其实是综合能力的培养、锻炼与提高。它培养了我们全面、多角度考虑问题的能力,使我的逻辑推理能力和量化分析能力得到很好的锻炼和提高。它还让我了解了多种数学软件,以及运用数学软件对模型进行求解。数学模型主要是将现实对象的信息加以翻译,归纳的产物。通过对数学模型的假设、求解、验证,得到数学上的解答,再经过翻译回到现实对象,给出分析、决策的结果。其实,数学建模对我们来说并不陌生,在我们的日常生活和工作中,经常会用到有关建模的概念。例如,我们平时出远门,会考虑一下出行的路线,以达到既快速又经济的目的;一些厂长经理为了获得更大的利润,往往会策划出一个合理安排生产和销售的最优方案这些问题和建模都有着很大的联系。而在学习数学建模训练以前,我们面对这些问题时,解决它的方法往往是一种习惯性的思维方式,只知道该这样做,却不很清楚为什么会这样做,现在,我们这种陈旧的思考方式己经在被数学建模训练中培养出的多角度、层次分明、从本质上区分问题的新颖多维的思考方式所替代。这种凝聚了许多优秀方法为一体的思考方式一旦被我们掌握,它就转化成了我们自身的素质,不仅在我们以后的学习工作中继续发挥作用,也为我们的成长道路印下了闪亮的一页。通过学习数学建模训练,对我的收益不逊于以前所学的文化知识,使我终生难忘。而且,我觉得数学建模活动本身就是教学方法改革的一种探索,它打破常规的那种老师台上讲,学生听,一味钻研课本的传统模式,而采取提出问题,课堂讨论,带着问题去学习、不固定于基本教材,不拘泥于某种方法,激发学生的多种思维,增强其学习主动性,培养学生独立思考,积极思维的特性,这样有利于学生根据自己的特点把握所学知识,形成自己的学习机制,逐步培养很强的自学能力和分析、解决新问题的能力。这对于我们以后所从事的教育工作也是一个很好的启发。 总之,“一份耕耘,一份收获”。作为一名对探索有着浓厚兴趣的学生,我深刻地感到了自己在程序的编制和软件应用以及自学能力,有了很大的提高,并将对我今后的专业学习有很大的帮助。想到这里,我不由得被老师的良苦用心所感动,为我们创造了如此优越的学习条件,处处为学子着想。因此,在今后的学习中,我会保持这种学习的劲头,刻苦努力,争取取得更优异的成绩。教 师 评 价评定项目ABCD评定项目ABCD算法正确界面美观,布局合理程序结构合理操作熟练语法、语义正确解析完整实验结果正确文字流畅报告规范题解正确其他:评价教师签名:年 月 日