实验报告14数学建模_第1页
实验报告14数学建模_第2页
实验报告14数学建模_第3页
实验报告14数学建模_第4页
实验报告14数学建模_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、word 数学建模实验 实验报告学号: 实验十四:计算机模拟1.某报童以每份0.03元的价格买进报纸,以0.05元的价格出售. 根据长期统计,报纸每天的销售量及百分率为 销售量200210220230240250百分率0.100.200.400.150.100.05当天销售不出去的报纸,将以每份0.02元的价格退还报社.试用模拟方法确定报童每天买进报纸数量,使报童的平均总收入为最大解答:【1】模型假设:1 模拟时间充分大;2 报童购置报纸量介于销售量最小值与最大值之间;3不考虑有重大事件发生时卖报的顶峰期,也不考虑风雨天气时卖报的低谷期.【2】 符号假设BUYMIN:每天的最小购置量 BUYM

2、AX:每天的最大购置量SIMUDAY:模拟时间sell_amount:报童销售量 buy_amount: 报童购置量percentage:销售百分率 ave_profit:总平均利润loop_buy :当天购置量 loop_day :当天时间【3】matlab程序如下:(1)首先建立m文件Getprofit.mfunction re=GetProfit(a,b)if a<b % 供不应求:报童购置量小于销售量 re=a*(0.05-0.03); else % 供过于求:报童购置量大于销售量 re=b*(0.05-0.03)+(a-b)*(0.02-0.03); end2建立主程序main

3、.mBUYMIN=200; % 每天的最小购置量BUYMAX=250; % 每天的最大购置量SIMUDAY=1.0e+5; % 模拟时间sell_amount=200:10:250; % 销售量percentage=0.1 0.3 0.7 0.85 0.95 1; % 百分率buy_amount=0;ave_profit=0;for loop_buy=BUYMIN:BUYMAX sum_profit=0; for loop_day=1:SIMUDAY index=find(percentage>=rand); % 产生随机数,用于决定当天的销售量 sum_profit=sum_profi

4、t+GetProfit(loop_buy,sell_amount(index(1); end buy_amount=buy_amount,loop_buy; % 循环嵌套 ave_profit=ave_profit,sum_profit/SIMUDAY; % 循环嵌套endbuy_amount(1)=; % 第一个元素置空ave_profit(1)=;val,id=max(ave_profit) % 显示最大平均收入valbuy=buy_amount(id) % 显示在平均收入最大情况下的每天的购置量buyxlabel='每天的购置量'ylabel='平均利润'

5、plot(buy_amount,ave_profit,'*:');【4】运行结果:val =4.2801 id =21 buy = 220图像如下: 【5】结果分析:该结果说明当报童每天买进报纸数量为220,报童的平均总收入为最大,且最大为4.2801.2.某设备上安装有四只型号规格完全相同的电子管,电子管寿命为1000-2000小时之间的均匀分布。当电子管损坏时有两种维修方案,一是每次更换损坏的那一只;二是当其中一只损坏时四只同时更换。更换时间为换一只时需1小时,4只同时换为2小时。更换时机器因停止运转每小时的损失为20元,又每只电子管价格10元,试用模拟方法决定哪一个方案经

6、济合理?解答:【1】 模型分析:有两种方案1:ABCD四个灯全部换 2:ABCD四个灯不全换【2】 模型程序Matlab程序如下x1=0;y1=0;%第一种方法用的钱x2=0;y2=0;%第二种方法用的钱ia=0;ib=0;ic=0;id=0;%分别为ABCD灯换的次数A2=0;B2=0;C2=0;D2=0;%分别为ABCD灯用的总时间m=50;%试验总次数i=0;%已经进行试验次数j=0;%第一种方法占优的次数percent=0;%第一种方法占优占总次数的百分比n=100000;%每次试验总时间 %下面共进行m轮试验比拟全部换这种方法方法1用n个小时后和不全部换这种方法方法2%坚持同样的时间

7、哪个更经济while i<mwhile x1<n%全部换A=unifrnd(1000,2000,1,1);B=unifrnd(1000,2000,1,1);C=unifrnd(1000,2000,1,1);D=unifrnd(1000,2000,1,1);x=min(D,min(C,min(B,A);x1=x1+x;%总时间y1=y1+2*20+4*10;if A2<n ia=ia+1;A2=A2+A;endif B2<n ib=ib+1;B2=B2+B;endif C2<n ic=ic+1;C2=C2+C;endif D2<n id=id+1;D2=D2+

8、D;endendy1;%输出n个小时前方法1所用的钱y2=(ia+ib+ic+ic)*20+(ia+ib+ic+ic)*10;%输出n个小时前方法2所用的钱if y1<y2 j=j+1;%统计第一种方法占优的次数endi=i+1;endmjpercent=j/m 【3】运行结果:m = 50j = 50percent = 1【4】结果分析由此可以看出实验了m=50次,第一种方法占优了j=50次,占优率100%改变m或n也可得到类似的结果所以全部更换这种方法更好3. 导弹追踪问题:设位于坐标原点的甲舰向位于x轴上点A(1, 0)处的乙舰发射导弹,导弹头始终对准乙舰.如果乙舰以最大的速度(是

9、常数)沿平行于y轴的直线行驶,导弹的速度是5,模拟导弹运行的轨迹.又乙舰行驶多远时,导弹将它击中?解答:【1】模型建立假设导弹在时刻的位置为,乙舰位于。由于导弹头始终对准乙舰,故此时直线就是导弹的轨迹曲线弧在点处时的切线.即有,即 (1)又根据题意,弧的长度为的5倍,即有 (2)由1,2消去得 3(3) 令,将方程3化成一阶微分方程组初始条件为【2】模型程序Matlab程序如下:(1) 建立m文件eq1.mfunction dy=eq1(x,y)dy=zeros(2,1);dy(1)=y(2);dy(2)=1/5*sqrt(1+y(1)2)/(1-x);(2) 建立主程序x0=0,xf=0.9

10、999x,y=ode15s('eq1',x0,xf,0,0);plot(x,y(:,1),'b.')hold ony=0:0.01:2;plot(1,y,'b+')【3】程序结果得到图像如下图【4】结果分析:由图像知,道到大概在1,0.2处击中乙舰。4. 两船欲停靠同一个码头, 设两船到达码头的时间各不相干,而且到达码头的时间在一昼夜内是等可能的.如果两船到达码头后需在码头停留的时间分别是1 小时与2 小 时,试求在一昼夜内,任一船到达时,需要等待空出码头的概率. 解答:【1】 模型分析设x,y分别为甲,乙两船到达时刻小时,需等待空出码头的条件是【2】模型程序Matlab程序如下(1)建立m文件liti4.mfunction proguji=liti4(mm)frq=0;randnum1=unifrnd(0,24,mm,1);randnum2=unifrnd(0,24,mm,1);randnum=randnum1-randnum2;p

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论