数学建模实习报告4 下载本文

0.1700 0.9306 0.5549 >> paiduiren(20) ans =

0.4137 1.4525 0.4404 >> paiduiren(25) ans =

0.3676 1.6445 0.3772 >> paiduiren(30) ans =

0.9422 2.3254 0.3572

6 实验程序(Matlab或者其它软件语言陈述): (1) 1 ○

r=rand(1,10); for i=1:10; if r(i)<0.4 n(i)=0;

elseif 0.4<=r(i)&r(i)<0.7 n(i)=1; else n(i)=2; end; end

2 ○

r=unifrnd(0,1,1,10);

第 6 页 共 8 页

a=(r>=0.4);b=(r>=0.7); n=a+b;

(2)

>> r=exprnd(2,1,10);t=cumsum(r);%计算向量r的累积和 >> r,t

(3)

clf

L=zeros(1,31); %L 等待的顾客人数, T1=zeros(1,31); %T1等待时间的累加, T2=zeros(1,31); %T2服务时间的累加, L1=zeros(1,31);% L1到达顾客人数累加。 t=1; tau=1; x=0:30; r=rand(1,30); for i=1:30; t=t+1;

if 0<=r(i) & r(i)<0.4 n=0;

elseif 0.4<=r(i) & r(i)<0.7 n=1;

else n=2;;、、 end;

if L(t-1)==0 & n==0

L(t)=L(t-1);T1(t)=T1(t-1);T2(t)=T2(t-1);L1(t)=L1(t-1); else

L(t)=L(t-1)+n-1;T1(t)=T1(t-1)+L(t);T2(t)=T2(t-1)+tau; L1(t)=L1(t-1)+n; end;

第 7 页 共 8 页

end; r=[0 r];

a=[x',r',L',L1',T1',T2']

eL=T2(end)/tau %已被服务的人数 L2=(find(L1>eL))

L3=sum(L(L2))%未被服务的顾客等待时间总和 g1=(T1(end)-L3)/eL %平均等待时间 g2=g1+tau %平均逗留时间

g3=eL/30 %平均每分钟服务的顾客人数

(4)function y=paiduiren(n)

t=zeros(1,n+1); T=zeros(1,n+1); w=zeros(1,n+1); ww=zeros(1,n+1); t1=exprnd(2,1,n+1); t2=normrnd(1,1/3,1,n+1); for i=1:n

t(i+1)=t(i)+t1(i); if t(i+1)>=T(i);

T(i+1)=t(i+1)+t2(i+1);w(i+1)=w(i);ww(i+1)=t(i+1)-T(i)+ww(i); else

T(i+1)=T(i)+t2(i+1); w(i+1)=T(i)-t(i+1)+w(i);ww(i+1)=ww(i); end; end;

b=[t',T',w',ww']; g1=w(end)/20; g2=sum(T-t)/20; g3=20/T(end); y=[g1 g2 g3];

第 8 页 共 8 页