資源簡介
多部電梯調配優化仿真MATLAB程序,主要思想為最短等待時間,可以作為相關研究人員的參考

代碼片段和文件信息
function?wt=arrange(statesignal)
%signal(1)?發出signal的樓層號
%signal(2)?signal的方向:0代表向下1代表向上
%state(11)elevator當前所在樓層
%state(12)elevator的運行方向,定義同signal
%state(13)elevator的擁擠度
%state(2,:)elevator所響應的信號集合
%state(3,:)elevator所響應的停站集合
%state(4,:)elevator所響應的信號所對應的信號候梯時間的集合
%state(5,:)elevator所響應的信號所對應的方向的集合
%若樓層數為N則?state是5行N列的矩陣
N=7;%樓層選擇為7層
%求距離層數dis
%電梯是上行方向
if(state(12)==1)
????if(signal(2)==1)
????????if(state(11)<=signal(1))
????????????dis=signal(1)-state(11);
????????else
????????????if(max(state(3:))==0)
????????????????dis=state(11)-signal(1);
????????????else
????????????dis=2*max(state(3:))-state(11)-signal(11);
????????????end
????????end
????else
????????if(max(state(3:))==0)
????????????dis=abs(state(11)-signal(1));
????????else
????????????if(signal(1)>=max(state(3:)))
????????????????dis=signal(1)-state(11);
????????????else
????????????????dis=2*max(state(3:))-state(11)-signal(11);
????????????end
????????end
????end
end
%電梯是下行方向
for?i=1:length(state(3:))
????if(state(3i)~=0)
????????temp(i)=state(3i);
????else
????????temp(i)=N;
????end
end
if(state(12)==0)
????if(signal(2)==0)
????????if(state(11)>=signal(1))
????????????dis=state(11)-signal(1);
????????else
????????????if(max(state(3:))==N)
????????????????dis=signal(1)-state(11);
????????????else
????????????dis=abs(2*min(state(3:))-state(11)-signal(11));
????????????end
????????end
????else
????????if(max(state(3:))==N)
????????????dis=abs(state(11)-signal(1));
????????else
????????????if(signal(1)<=min(state(3:)))
????????????????dis=abs(signal(1)-state(11));
????????????else
????????????????dis=abs(2*min(state(3:))-state(11)-signal(11));
????????????end
????????end
????end
end
%計算起停次數
sst=0;
for?i=1:length(state(3:))
????if(state(3i)~=0)
???????sst=sst+1;
????end
end
%計算電梯從接受signal響應到為其提供服務預停站次數stopTime
temp(1:)=state(2:);
temp(2:)=state(5:);
num=1;
%?除0
for?i=1:length(temp)
????if(temp(2i)~=0)
????????temp0(:num)=temp(:i);
????????num=num+1;
????end
end
temp=[];
temp=temp0;temp0=[];
%電梯是上行方向
if(state(12)==1)
????for?i=1:length(temp(1:))-1
????????for?j=i+1:length(temp(1:))
????????????if(temp(2j)>temp(2i))
????????????????temp1=temp(:j);
????????????????temp(:j)=temp(:i);
????????????????temp(:i)=temp1;
????????????elseif(temp(1j) ????????????????temp1=temp(:j);
????????????????temp(:j)=temp(:i);
????????????????temp(:i)=temp1;
????????????end
????????end
????end
????stopTime=0;
????if(signal(2)==1)
????????for?i=1:length(temp(1:))
????????????if(signal(1)>temp(1i)&&temp(2i)==1)
????????????????stopTime=stopTime+1;
????????????end
????????end
????end
????if(signal(2)==0)
????????for?i=1:length(temp(1:))
????????????if(temp(2i)==1)
????????????????stopTime=stopTime+1;
????????????elseif(signal(1) ????????????????stopTime=stopTime+1;
????????????end
???????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????4691??2017-06-21?17:44??elevator_control\arrange.m
?????文件????????1368??2017-06-21?21:55??elevator_control\ceshi.m
?????文件?????????267??2008-12-08?15:01??elevator_control\FAwt.m
?????文件????????1173??2008-12-12?14:38??elevator_control\FAwtContent.m
?????文件????????1492??2008-12-12?11:53??elevator_control\FAwtConW.m
?????文件?????????284??2008-12-11?21:28??elevator_control\FDis.m
?????文件????????7325??2017-06-20?20:30??elevator_control\Felement.m
?????文件?????????463??2008-12-12?16:14??elevator_control\fig.m
?????文件?????????266??2008-12-08?15:02??elevator_control\FJam.m
?????文件?????????277??2008-12-08?15:01??elevator_control\FLwp.m
?????文件????????1072??2008-12-12?15:16??elevator_control\FRnc.m
?????文件????????1471??2008-12-12?10:56??elevator_control\FRncW.m
?????文件?????????267??2008-12-11?21:27??elevator_control\FSst.m
?????文件????????1203??2008-12-12?16:04??elevator_control\FTripContent.m
?????文件????????1502??2008-12-12?11:53??elevator_control\FTripConW.m
?????文件?????????300??2008-12-12?09:35??elevator_control\FtripTime.m
?????文件????????1917??2017-06-21?20:53??elevator_control\guestsimu.m
?????文件????????1916??2017-06-21?16:38??elevator_control\temp.m
?????文件?????????575??2008-12-11?09:50??elevator_control\tesElem.m
?????文件?????????511??2017-06-20?16:27??elevator_control\test.m
?????文件?????????908??2008-12-15?11:14??elevator_control\TestALL.m
- 上一篇:pcm編解碼、A律喝u律十三折線通用程序
- 下一篇:LMS音頻降噪matlab程序
評論
共有 條評論