注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Mister.Hu(巷里人家)

Go abroad!

 
 
 

日志

 
 
关于我

A campus photograph palyer,an enthusiastic reader,a solitary writer,a future traffic engineer.

网易考拉推荐

Simulation in escalator[Part 4]  

2016-03-05 16:07:38|  分类: Senior |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
function [InPM] = Get_InPM(PM)
global Wid;
if ~isempty(PM)
    for k=1:size(PM,1)
        if PM(k,1)==0
            InPM(4*k-3:4*k,1:4)=0;
        else
            InPM(4*k-3:4*k,1:4)=[PM(k,1)-3*Wid PM(k,1)-2*Wid PM(k,1)-Wid PM(k,1);
                PM(k,1)-3*Wid+1 PM(k,1)-2*Wid+1 PM(k,1)-Wid+1 PM(k,1)+1;
                PM(k,1)-3*Wid+2 PM(k,1)-2*Wid+2 PM(k,1)-Wid+2 PM(k,1)+2;
                PM(k,1)-3*Wid+3 PM(k,1)-2*Wid+3 PM(k,1)-Wid+3 PM(k,1)+3];
        end
    end
else
    InPM=[];
end
end

function SM= Build_SM
global TWid;
SM=zeros(182,30+TWid);%assign the initial value,(182,66)means a 180*64 matrix.
SM(2:87,22:29)=0;%the escalator
SM([1,182],:)=NaN;%the insulating layer
SM(:,[1,30+TWid])=NaN;%the insulating layer
SM(2:91,[20,21,30,31])=NaN;%the handrail
end

function [KC,PM,PM0,SVM,SDM] =Update_Status(PP,FRM,KC,PM,PM0,SVM,SDM)
for k=1:length(PP)
    if PM(k)~=0
        if ~isempty(FRM{k})
            PM(k)=FRM{k}(1,end);PM0(k)=PM(k);%the latest PM is followed with the end of FRM.
        end
        if ismember(PM(k),[4456 4638 4820 5002 5184])%that means the pedes arrive to the destination.
            switch KC(k)
                case 0
                    KC(k)=randsrc;
                case 1
                    SVM(k)=0;SDM(k)=0;PM(k)=0;PM0(k)=PM0(k);KC(k)=2;
                case -1
                    KC(k)=1;
            end
        end
    end
end
% DEC=[3911 4093 4275 4457 4639 4821 5003 5185
%     3912 4094 4276 4458 4640 4822 5004 5186
%     3913 4095 4277 4459 4641 4823 5005 5187
%     3914 4096 4278 4460 4642 4824 5006 5188
%     3915 4097 4279 4461 4643 4825 5007 5189
%     3916 4098 4280 4462 4644 4826 5008 5190];
% for k=1:length(PP)
%     if PM(k)~=0
%         if ~isempty(FRM{k})
%             if ~ismember(PM(k),DEC)
%                 PM(k)=FRM{k}(1,end);PM0(k)=PM(k);%the latest PM is followed with the end of FRM.
%             else
%                 if ismember(1,SM(88,22:29))&&ismember(FRM{k}(1,end),[4456 4638 4820 5002 5184])
%                     if randsrc(1,1,[1 0;0.2 0.8])
%                         PM(k)=FRM{k}(1,end);PM0(k)=PM(k);
%                     end
%                 else
%                     PM(k)=FRM{k}(1,end);PM0(k)=PM(k);
%                 end
%             end
%         end
%         if ismember(PM(k),[4456 4638 4820 5002 5184])%that means the pedes arrive to the destination.
%             switch KC(k)
%                 case 0
%                     KC(k)=randsrc;
%                 case 1
%                     SVM(k)=0;SDM(k)=0;PM(k)=0;PM0(k)=PM0(k);KC(k)=2;
%                 case -1
%                     KC(k)=1;
%             end
%         end
%     end
% end
end


function [SASM] =GET_SASM1(STSM)
global Time;
SASM=zeros(182,66);
for k=Time/2+1:Time
    SASM=SASM+STSM(:,:,k);
end
SASM(isnan(SASM))=0;
end

function [FPM0] =Get_PM0_Frequency(PM0)
x=sort(PM0);
d=diff([x;max(x)+1]);
count = diff(find([1;d])) ;
FPM0 =[x(find(d)) count];
[~,b]=sort(FPM0(:,2));
FPM0=FPM0(b,:);
end

function [SLSM] =GET_SLSM(STSM)
global Time;
SLSM=zeros(8,Time);
for k=1:Time
    SLSM(:,k)=STSM(91,22:29,k)';
end
SLSM=SLSM(:,Time/2:Time);
end

function [SAEXIT,SAEXIT1,SAEXIT2,SAEXIT3,SAEXIT4,SAEXIT5]=GET_SAEXIT(STPM,PM0,TNUM)
%This function can calculate the specific number of each exit.
%Changed by exit number.
%The unit has been transfered to per hour.
global Time;
TTI=Time*0.3;
FTM=zeros(TNUM,1);SAPM0=zeros(TNUM,1);
for k=1:TNUM
    [~,A]=find(STPM(k,:)~=0);
if ~isempty(A)
    FTM(k,1)=A(end)+1;
    if FTM(k,1)>=Time/2
        SAPM0(k,1)=PM0(k,1);
    end
end
end
SAEXIT1=numel(find(SAPM0==5184))*(7200/TTI);
SAEXIT2=numel(find(SAPM0==5002))*(7200/TTI);
SAEXIT3=numel(find(SAPM0==4820))*(7200/TTI);
SAEXIT4=numel(find(SAPM0==4638))*(7200/TTI);
SAEXIT5=numel(find(SAPM0==4456))*(7200/TTI);
SAEXIT=SAEXIT1+SAEXIT2+SAEXIT3+SAEXIT4+SAEXIT5;
end
  评论这张
 
阅读(19)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016