首页 > 代码库 > 单服务员排队模拟100天matlab实现

单服务员排队模拟100天matlab实现

%单服务员排队模型模拟100

clear

clc

day = 100 ;s = zeros(1,day) ;wait =zeros(1,day) ;

for i = 1 :day

    %首先,赋初值

   tg = exprnd(10) ;     %第一个顾客到达时间

   ts = tg ;             %售货员已经工作的时间,这里的初值是等待第一个顾客到达的时间

   nd = 1 ;              %队伍里的人数

   nf = 0 ;              %已经服务的人数

    w= 0 ;               %顾客等待时间

   while ( ts < 480 )

       ts = ts + unifrnd( 4 , 15 ) ;

       nf = nf + 1 ;

       nd = nd - 1 ;

       if ( nd == 0 )

           tg = tg + exprnd( 10 ) ;

           nd = nd + 1 ;

           if ( tg > ts )

                ts = tg ;

           else

                 w = w + ts - tg ;

           end

       end

   end

   s(i) = nf ;

   wait(i) = w/nf ;

end

S = 0 ; W = 0 ;

for j = 1 : day

    S= S + s(j) ;

    W= W + wait(j) ;

end

Enf = S/day

Ew = W/day

单服务员排队模拟100天matlab实现