clear; close all; clc;

rand('twister',1000);
%rand('twister',sum(100*clock));

m1=25; %Mittlere Zahl ankommender Kunden pro Stunde
m2=30; %Mittlere Zahl bedienbarer Kunden pro Stunde

lambda=m1/60;
mu=m2/60;

anzahl=1000000;

gleich=rand(2,anzahl);

ankunftsabstand=-1./lambda.*log(1-gleich(1,:));
bedienzeit=-1./mu.*log(1-gleich(2,:));

ankunft=cumsum(ankunftsabstand);

abgang=zeros(1,anzahl);
bedienbeginn=zeros(1,anzahl);

bedienbeginn(1)=ankunft(1);
abgang(1)=bedienbeginn(1)+bedienzeit(1);

for k=2:anzahl
    if ankunft(k)>=abgang(k-1);
        bedienbeginn(k)=ankunft(k);
    else bedienbeginn(k)=abgang(k-1);
    end
    abgang(k)=bedienbeginn(k)+bedienzeit(k);
end


 % Teilaufgabe a)
 

 % Teilaufgabe b)
 

 % Teilaufgabe c)
lsg_c=mean(bedienbeginn-ankunft)

% Teilaufgabe d)
lsg_d=mean(abgang-ankunft)

% Teilaufgabe e)

% Teilaufgabe f)
lsg_f=sum(bedienbeginn-ankunft>=15)/anzahl

% Teilaufgabe g)
lsg_g=sum(abgang-ankunft>=20)/anzahl

    