实验报告14数学建模Word文件下载.docx
- 文档编号:17601375
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:9
- 大小:59.72KB
实验报告14数学建模Word文件下载.docx
《实验报告14数学建模Word文件下载.docx》由会员分享,可在线阅读,更多相关《实验报告14数学建模Word文件下载.docx(9页珍藏版)》请在冰豆网上搜索。
【2】符号假设
BUYMIN:
每天的最小购买量
BUYMAX:
每天的最大购买量
SIMUDAY:
模拟时间
sell_amount:
报童销售量
buy_amount:
报童购买量
percentage:
销售百分率
ave_profit:
总平均利润
loop_buy:
当天购买量
loop_day:
当天时间
【3】matlab程序如下:
(1)首先建立m文件Getprofit.m
functionre=GetProfit(a,b)
ifa<
b%供不应求:
报童购买量小于销售量
re=a*(0.05-0.03);
else%供过于求:
报童购买量大于销售量
re=b*(0.05-0.03)+(a-b)*(0.02-0.03);
end
(2)建立主程序main.m
BUYMIN=200;
%每天的最小购买量
BUYMAX=250;
%每天的最大购买量
SIMUDAY=1.0e+5;
%模拟时间
sell_amount=200:
10:
250;
%销售量
percentage=[0.10.30.70.850.951];
%百分率
buy_amount=0;
ave_profit=0;
forloop_buy=BUYMIN:
BUYMAX
sum_profit=0;
forloop_day=1:
SIMUDAY
index=find(percentage>
=rand);
%产生随机数,用于决定当天的销售量
sum_profit=sum_profit+GetProfit(loop_buy,sell_amount(index
(1)));
end
buy_amount=[buy_amount,loop_buy];
%循环嵌套
ave_profit=[ave_profit,sum_profit/SIMUDAY];
buy_amount
(1)=[];
%第一个元素置空
ave_profit
(1)=[];
[val,id]=max(ave_profit)%显示最大平均收入val
buy=buy_amount(id)%显示在平均收入最大情况下的每天的购买量buy
xlabel='
每天的购买量'
;
ylabel='
平均利润'
plot(buy_amount,ave_profit,'
*:
'
);
【4】运行结果:
val=4.2801id=21buy=220
图像如下:
【5】结果分析:
该结果说明当报童每天买进报纸数量为220,报童的平均总收入为最大,且最大为4.2801.
2.某设备上安装有四只型号规格完全相同的电子管,已知电子管寿命为1000--2000小时之间的均匀分布。
当电子管损坏时有两种维修方案,一是每次更换损坏的那一只;
二是当其中一只损坏时四只同时更换。
已知更换时间为换一只时需1小时,4只同时换为2小时。
更换时机器因停止运转每小时的损失为20元,又每只电子管价格10元,试用模拟方法决定哪一个方案经济合理?
【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)
%坚持同样的时间哪个更经济
whilei<
m
whilex1<
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;
ifA2<
n
ia=ia+1;
A2=A2+A;
ifB2<
ib=ib+1;
B2=B2+B;
ifC2<
ic=ic+1;
C2=C2+C;
ifD2<
id=id+1;
D2=D2+D;
y1;
%输出n个小时后方法1所用的钱
y2=(ia+ib+ic+ic)*20+(ia+ib+ic+ic)*10;
%输出n个小时后方法2所用的钱
ify1<
y2
j=j+1;
%统计第一种办法占优的次数
i=i+1;
j
percent=j/m
【3】运行结果:
m=
50
j=
percent=
1
【4】结果分析
由此可以看出实验了m=50次,第一种办法占优了j=50次,占优率100%改变m或n也可得到类似的结果所以全部更换这种办法更好
3.导弹追踪问题:
设位于坐标原点的甲舰向位于x轴上点A(1,0)处的乙舰发射导弹,导弹头始终对准乙舰.如果乙舰以最大的速度(是常数)沿平行于y轴的直线行驶,导弹的速度是5,模拟导弹运行的轨迹.又乙舰行驶多远时,导弹将它击中?
【1】模型建立
假设导弹在
时刻的位置为
,乙舰位于
。
由于导弹头始终对准乙舰,故此时直线
就是导弹的轨迹曲线弧
在点
处时的切线.
即有
,即
(1)
又根据题意,弧
的长度为
的5倍,即有
(2)
由
(1),
(2)消去
得
(3)
(3)令
,将方程(3)化成一阶微分方程组
初始条件为
Matlab程序如下:
(1)建立m文件eq1.m
functiondy=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.9999
[x,y]=ode15s('
eq1'
[x0,xf],[0,0]);
plot(x,y(:
1),'
b.'
)
holdon
y=0:
0.01:
2;
plot(1,y,'
b+'
【3】程序结果
得到图像如图所示
【4】结果分析:
由图像知,道到大概在(1,0.2)处击中乙舰。
4.两船欲停靠同一个码头,设两船到达码头的时间各不相干,而且到达码头的时间在一昼夜内是等可能的.如果两船到达码头后需在码头停留的时间分别是1小时与2小时,试求在一昼夜内,任一船到达时,需要等待空出码头的概率.
【1】模型分析
设x,y分别为甲,乙两船到达时刻(小时),需等待空出码头的条件是
(1)建立m文件liti4.m
functionproguji=liti4(mm)
frq=0;
randnum1=unifrnd(0,24,mm,1);
randnum2=unifrnd(0,24,mm,1);
randnum=randnum1-randnum2;
proguji=0;
forii=1:
mm
ifrandnum(ii,1)<
=1&
randnum(ii,1)>
=-2
frq=frq+1
proguji=frq/mm
(2)再执行程序
liti4(10000)
【3】运行结果
p=0.1995
由运行结果得到需要等待空出码头的概率为0.2左右
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 报告 14 数学 建模