📄 xiaochidian.m
字号:
clear
DAYS=1;%如果天数等于1,则显示该天的实时顾客数量,如果大于1则是求长时间的统计特性
total_cus=0;
total_snack=0;
total_staytime=0;
total_num=0;
max_cus=0;
if(DAYS==1)
figure
end
for data=1:DAYS
ar_time=[];
de_time=[];
num_cus=[];
num_snack=[];
stay_time=[];
now_cus=0;
nowtime=0;
arrived=1;
nowcustom=[];
time=[];
for nowtime=0:360
%上一批顾客已经到达,产生新的到达时间
if arrived==1
p_jiange=rand;
if p_jiange<0.3
jiange=3;
else if p_jiange<0.5
jiange=5;
else if p_jiange<0.65
jiange=6;
else if p_jiange<0.85
jiange=8;
else
jiange=10;
end
end
end
end
nextcustom=nowtime+jiange;
arrived=0;
end
%有顾客到达,产生该批顾客的基本信息
if nowtime==nextcustom
arrived=1;
ar_time=[ar_time,nowtime];
%产生顾客人数
p_num_c=rand;
if p_num_c<0.4
num_c=1;
else if p_num_c<0.7
num_c=2;
else if p_num_c<0.9
num_c=3;
else
num_c=4;
end
end
end
num_cus=[num_cus,num_c];
now_cus=now_cus+num_c;
%根据顾客人数产生离开时间
dep_total=0;
for ii=1:num_c
p_away=rand;
if p_away<0.1
away=10;
else if p_away<0.5
away=15;
else if p_away<0.8
away=20;
else
away=25;
end
end
if(dep_total<away)
dep_total=away;
end
end
end
stay_time=[stay_time,dep_total];
dep_total=nowtime+dep_total;
de_time=[de_time,dep_total];
%产生顾客所需特色点心数量
num_sna=0;
for ii=1:num_c
p_sna=rand;
if p_sna<0.2
num_sna=num_sna+0;
else if p_away<0.85
num_sna=num_sna+1;
else
num_sna=num_sna+2;
end
end
end
num_snack=[num_snack,num_sna];
end
%有顾客离开
L=find(de_time==nowtime);
num_L=length(L);
for ii=1:num_L
now_cus=now_cus-num_cus(L(ii));
end
now_cus;
nowcustom=[nowcustom,now_cus];
time=[time,nowtime];
%仿真一天的情况,则动态显示顾客人数
if DAYS==1
title('顾客人数实时显示')
axis([0,400,0,20])
plot(time,nowcustom);
hold on
pause(0.01)
end
end
total_cus=total_cus+sum(num_cus);
total_snack=total_snack+sum(num_snack);
max_cus=max(max_cus,max(nowcustom));
total_staytime=total_staytime+sum(stay_time);
total_num=total_num+length(ar_time);
end
average_days_cus=total_cus/DAYS
average_days__snack=total_snack/DAYS
average_hours_cus=average_days_cus/6
average_hours__snack=average_days__snack/6
average_staytime=total_staytime/total_num
max_cus=max_cus
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -