matlab港口系统模拟算法


n=100;
%第一步
between(1)=round(15+130*rand(1));
unload(1)=round(45+45*rand(1));
arrive(1)=between(1);

%第二步
HARTIME=unload(1);
MAXHAR=unload(1);
WAITIME=0;
MAXWAIT=0;
IDLETIME=arrive(1);

%第三步
finish(1)=arrive(1)+unload(1);

%第四步
len=length(n);
for i=2:n
    %第五步
    between(i)=round(15+130*rand(1));
    unload(i)=round(45+45*rand(1));
    
    %第6步
    arrive(i)=arrive(i-1)+between(i);
    
    %第7步
    timediff=arrive(i)-finish(i-1);
    %第8步
    if timediff>=0
        idle(i)=timediff;
        wait(i)=0;
    end
    if timediff<0
        wait(i)=-timediff;
        idle(i)=0;
    end
    %第9步
    start(i)=arrive(i)+wait(i);
    %第10步
    finish(i)=start(i)+unload(i);
    %第11步
    harbor(i)=wait(i)+unload(i);
    %第12步
    HARTIME=HARTIME+harbor(i);
    %第13步
    if harbor(i)>MAXHAR
        MAXHAR=harbor(i);
    end
    %第14步
    WAITIME=WAITIME+wait(i);
    %第15步
    IDLETIME=IDLETIME+idle(i);
    %第16步
    if wait(i)>MAXWAIT
        MAXWAIT=wait(i);
    end
    
end
%第17步
HARTIME=HARTIME/n;
WAITIME=WAITIME/n;
IDLETIME=IDLETIME/finish(end);
HARTIME
MAXHAR
WAITIME
MAXWAIT
IDLETIME

猜你喜欢

转载自blog.csdn.net/qq_24624539/article/details/81462042
今日推荐