【元胞自動(dòng)機(jī)】基于元胞自動(dòng)機(jī)實(shí)現(xiàn)單邊教室人群疏散含Matlab源碼
1 簡(jiǎn)介
基于元胞自動(dòng)機(jī)模擬教室疏散代碼,分析在隨機(jī)教室情況下人員流動(dòng)情況。
2 部分代碼
function [ ] = main(~)
%畫出動(dòng)圖
A=zeros(113,26);
M=ceil(sqrt(113^2+26^2));
A1=zeros(29,22);
A1(:,[1 22])=M;
A1([1 29],:)=M;
A1([4 5],[10 11 12 13])=M;%給出講臺(tái)的障礙量
A1(8:2:24,[4 5 6 10 11 12 13 17 18 19])=M;%給出桌子的障礙量
A1(9:2:25,[5 11 12 18])=A(9:2:25,[5 11 12 18]);%給出位于鄰接座位中間位子的距門口的距離,這里去除了+1的情況
A1(5,1)=0;%給出門的位置
A([1,29,57,85],5:26)=M;
A(113,:)=M;
A(:,[1,5,26])=M;
A(1:29,5:26)=A1;
A(29:57,5:26)=A1;
A(57:85,5:26)=A1;
A(85:113,5:26)=A1;%至此給出了教室的形狀,障礙物的分布,門口的位置
C=zeros(113,26);
C1=zeros(29,22);
C1(9:2:25,[4 5 6 10 11 12 13 17 18 19])=M;
C(1:29,5:26)=C1;
C(29:57,5:26)=C1;
C(57:85,5:26)=C1;
C(85:113,5:26)=C1;%至此給出了整個(gè)樓層的人員分布情況表如矩陣C所示,此時(shí)給出的是初始情況,每個(gè)人都坐在座位上
for g=1:340;%200次肯定可以結(jié)束,可以嘗試用while,這里懶得了……
imshow(max(A,C)==0,'InitialMagnification','fit')%取最大的作為人員在教室的分布,以及給出教室輪廓和障礙物圖像
%其后兩個(gè)參數(shù)是為了調(diào)整圖像的大小
pause(0.25);
C=run(C);
end
3 運(yùn)行結(jié)果
4 參考文獻(xiàn)
[1]孫凱. 基于元胞自動(dòng)機(jī)模型的學(xué)生群體疏散研究[D]. 太原科技大學(xué).