疏散問(wèn)題元胞自動(dòng)機(jī)仿真方法_第1頁(yè)
疏散問(wèn)題元胞自動(dòng)機(jī)仿真方法_第2頁(yè)
疏散問(wèn)題元胞自動(dòng)機(jī)仿真方法_第3頁(yè)
疏散問(wèn)題元胞自動(dòng)機(jī)仿真方法_第4頁(yè)
疏散問(wèn)題元胞自動(dòng)機(jī)仿真方法_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、姓名:張雪蕾學(xué)號(hào):201211131114姓名:崔星宇學(xué)號(hào):201211131072姓名:王佳穎學(xué)號(hào):201211131054基于元胞自動(dòng)機(jī)的人員疏散仿真研究摘要:本文要仿真模擬學(xué)校某層教學(xué)樓中的人員疏散 1 ,主要方法是建立元胞自 動(dòng)機(jī)模型。本文首先規(guī)定了學(xué)校教室和走廊的規(guī)格, 并將教室和走廊平面均勻地劃分成 大小相等且符合實(shí)際的正方形網(wǎng)格, 每個(gè)網(wǎng)格作為一個(gè)元胞, 可以由教室中的學(xué) 生或者障礙物占據(jù)。 模型的建立是先將此樓層的人員疏散過(guò)程分成教室和走廊兩 個(gè)部分分別考慮、并分別建立模型。在教室中, 根據(jù)每一個(gè)元胞距離教室門(mén)口的位置長(zhǎng)短, 建立了元胞位置危險(xiǎn) 度矩陣,然后在此基礎(chǔ)上給出教室中

2、書(shū)桌所在元胞的位置和教室墻壁所在元胞的 位置。我們采用 Moore neighborhood 的元胞鄰居方式,學(xué)生的行走方式取決于 其鄰居八個(gè)元胞及其本身在位置危險(xiǎn)度矩陣中所對(duì)應(yīng)的危險(xiǎn)度的大小; 有多個(gè)學(xué) 生競(jìng)爭(zhēng)同一元胞時(shí), 則采用生成隨機(jī)數(shù)作為前進(jìn)概率的方法, 概率最大的可以成 功搶到該目標(biāo)元胞位置。 這樣每一次時(shí)間步的更新, 都會(huì)有至多一個(gè)人走出本間 教室,一間 90 人的教室需要大約 26.25s 就可使教室人員全部走出教室。在走廊中, 我們考慮走廊只能至多三排學(xué)生并行的情況, 并規(guī)定走廊上的行 走規(guī)則與教室里的一致。我們采用擴(kuò)展的 Von-Neumann neighborhood 的元

3、胞鄰 居方式,學(xué)生的行走方式取決于其鄰居五個(gè)元胞及其本身在位置危險(xiǎn)度矩陣中所 對(duì)應(yīng)的值的大小。每一時(shí)間步的更新會(huì)有至多三個(gè)人走出走廊。最終,我們將教室和走廊的情況整合在一起考慮, 得到了模擬學(xué)校學(xué)生在進(jìn) 行疏散時(shí)的元胞自動(dòng)機(jī)模型。 用此元胞自動(dòng)機(jī)模型對(duì)該層教學(xué)樓的人員疏散問(wèn)題 進(jìn)行仿真模擬,若每一時(shí)間步為 0.25 秒,我們得到時(shí)間步更新次數(shù)為 333(即 83.25s ),四間教室共 360人均可全部逃離教學(xué)樓, 該結(jié)果與實(shí)際情況十分相符。 關(guān)鍵字:人員疏散 元胞自動(dòng)機(jī) 位置危險(xiǎn)度 隨機(jī)數(shù)法一、問(wèn)題重述和分析:某學(xué)校教學(xué)樓的某層,有一排4間相同的教室,學(xué)生們可以沿教室外的走廊 一直走到出口,

4、現(xiàn)用元胞自動(dòng)機(jī)模型,模擬學(xué)生疏散的過(guò)程。由于教室和走廊都是矩形的,我們可以將教室和走廊都劃分成二維網(wǎng)格的形 式,因而,我們不妨假設(shè)教室和走廊的分布如下圖:在教室中時(shí),學(xué)生在教室中的分布是由座位分布決定,灰色部分為座位區(qū)域, 黑色部分為墻壁和書(shū)桌。如果我們想要得到每個(gè)元胞的變化規(guī)則,就要制定每個(gè) 學(xué)生的行走規(guī)則。我們可以根據(jù)生活中的常識(shí),人們一定會(huì)走向與出口距離更短的位置;當(dāng)某元胞被墻壁、書(shū)桌和學(xué)生占據(jù)時(shí),可以認(rèn)為距離出口的長(zhǎng)度為大于整間教室對(duì)角 線的長(zhǎng)度的最小整數(shù),除墻壁、書(shū)桌和學(xué)生以外的每個(gè)元胞上的值表示與門(mén)口的 距離,得到一張數(shù)字表格,此數(shù)字表格可以確定每個(gè)元胞的位置危險(xiǎn)度, 危險(xiǎn)度 越小

5、的元胞越安全。根據(jù)Moore neighborhood 的元胞鄰居方式,每個(gè)學(xué)生每一時(shí)間步只需考慮周?chē)藗€(gè)鄰居元胞及其本身所在位置的位置危險(xiǎn)度。如果該九個(gè)元胞的位置危 險(xiǎn)度存在唯一最小值,學(xué)生顯然會(huì)選擇該元胞作為下一個(gè)目標(biāo) (此時(shí)存在該元胞 的目標(biāo)為自己的情況,即此元胞的不動(dòng));由于該九個(gè)元胞的危險(xiǎn)度可能存在多 個(gè)最小值,此時(shí)學(xué)生將以相同概率選擇這幾個(gè)元胞之一作為下一個(gè)目標(biāo),如圖1所示。另外由于可能出現(xiàn)多個(gè)學(xué)生同時(shí)競(jìng)爭(zhēng)一個(gè)元胞位置,則令這幾個(gè)學(xué)生下一步走到該元胞的可能性相同,如圖 2所示。由上述表述,可以得到每一個(gè)元胞的變化規(guī)則,且每一次時(shí)間步的更新表示 的是每個(gè)人只可能走至多一步,因而每一次

6、模擬至多有一個(gè)人走到教室的“門(mén)” 的位置,即認(rèn)為其下一步將走出教室到達(dá)走廊。116(人)3.60564.47213.6056116,(人)116(人)4.472155.6569目標(biāo)116l(人)116(人)圖1圖2研究走廊時(shí),假設(shè)只能有3排人行走,學(xué)生到達(dá)走廊后,仍按照教室里的行 走規(guī)則行走,即人們一定會(huì)走向與出口距離更短的位置。當(dāng)某元胞被墻壁和學(xué)生占據(jù)時(shí),可以認(rèn)為該元胞的位置危險(xiǎn)度為大于整個(gè)教 學(xué)樓對(duì)角線的長(zhǎng)度的最小整數(shù),除墻壁和學(xué)生以外的每個(gè)元胞上的位置危險(xiǎn)度表 示為與走廊門(mén)口的距離;當(dāng)學(xué)生到達(dá)教室門(mén)口位置時(shí),受心理因素影響,我們可 酌情將教室門(mén)口所在位置的位置危險(xiǎn)度定義為其左側(cè)元胞的位置

7、危險(xiǎn)度,由此仍可得到與教室情況類(lèi)似的一張?jiān)恢梦kU(xiǎn)度表,危險(xiǎn)度越小的元胞越安全。根據(jù)擴(kuò)展的Von-Neumannneighborhood的元胞鄰居方式,每個(gè)學(xué)生每一步只需考慮周?chē)藗€(gè)鄰居元胞和自己的位置危險(xiǎn)度。 如果該六個(gè)元胞的位置危險(xiǎn) 度存在唯一最小值,學(xué)生顯然會(huì)選擇該元胞作為下一個(gè)目標(biāo) (此時(shí)存在該元胞的 目標(biāo)為自己的情況,即此元胞的不動(dòng));由于該六個(gè)元胞的危險(xiǎn)度可能存在多個(gè) 最小值,此時(shí)學(xué)生將以相同概率選擇這幾個(gè)元胞之一作為下一個(gè)目標(biāo)。由于可能出現(xiàn)多個(gè)學(xué)生同時(shí)競(jìng)爭(zhēng)一個(gè)元胞位置,則令這幾個(gè)學(xué)生下一步走到該元胞的可能 性相同。由上述表述,可以得到每一個(gè)元胞的變化規(guī)則,且每一次時(shí)間步的更新表

8、示 的是每個(gè)人只可能走至多一步,因而每一次模擬至多有 3個(gè)人走到走廊“出口” 的位置,即認(rèn)為其下一步將走出走廊,逃離教學(xué)樓。二、假設(shè):1、教室和走廊均為矩形;2、該樓層有四間教室,且教室布局完全相同,相鄰教室共用一面墻壁;3、走廊長(zhǎng)度為四間教室內(nèi)部長(zhǎng)度之和加上墻壁的長(zhǎng)度;4、教室出口設(shè)置在左側(cè)墻壁,走廊出口設(shè)置在走廊上方;5、該樓層共有116 X26個(gè)元胞,每個(gè)元胞的大小為0.4 X0.4m2 ;6、走廊內(nèi)部有3排元胞,即最多只能有3排人行走;7、墻壁只占單排元胞,課桌和人占據(jù)單個(gè)元胞;三、模型建立與求解:教室部分:一般情況下,教室多為矩形,出口設(shè)置在左側(cè)面墻壁,本文采用的教室如圖 所示,白色

9、為過(guò)道區(qū)域,灰色為座位區(qū)域,黑色為課桌和墻壁,將教室平面劃分 為二維網(wǎng)格,每個(gè)網(wǎng)格相當(dāng)于一個(gè)元胞,大小為 0.4 X0.4m2 ,人員只能占據(jù) 一個(gè)元胞,在白色和灰色區(qū)域移動(dòng)。每個(gè)格點(diǎn)對(duì)應(yīng)一個(gè)位置危險(xiǎn)度,人員根據(jù)其領(lǐng)域內(nèi)格點(diǎn)的位置危險(xiǎn)度確定下 一時(shí)刻的運(yùn)動(dòng)情況,采用Moore鄰居2,人員可向8個(gè)方向運(yùn)動(dòng)或保持靜止。每 一時(shí)步取0.25秒,教室內(nèi)的人員每個(gè)時(shí)步更新一次。在整個(gè)演化過(guò)程中,人 員每次更新位置只能移動(dòng)一個(gè)格點(diǎn)。人員運(yùn)動(dòng)規(guī)則如下:1)計(jì)算格點(diǎn)與出口的距離Sxy,設(shè)門(mén)的位置為(X,y)v(x- X0)2 + (y - y。)2(格點(diǎn)為空格)S( x, y) = 116(格點(diǎn)被人、墻、書(shū)桌

10、占據(jù))式中,(x,y)為元胞在系統(tǒng)中的坐標(biāo),x0、y0為門(mén)在系統(tǒng)中的坐標(biāo)2)確定每個(gè)格點(diǎn)的位置危險(xiǎn)度A(x,y)0(格點(diǎn)在門(mén)口處)A(x,y) = 116(格點(diǎn)被人、墻、書(shū)桌占據(jù))Sxy(格點(diǎn)與出口的距離為Sxy )其中x、y為格點(diǎn)位置,3)比較人員其鄰域內(nèi)各格點(diǎn)的位置危險(xiǎn)度,位置危險(xiǎn)度最小的格點(diǎn)作 為該人員下一時(shí)刻的運(yùn)動(dòng)目標(biāo)格點(diǎn)。 若運(yùn)動(dòng)目標(biāo)格點(diǎn)位置危險(xiǎn)度小于該人員 所在格點(diǎn)的位置危險(xiǎn)度,人員運(yùn)動(dòng)到該格點(diǎn);大于等于該人員所在格點(diǎn)的位 置危險(xiǎn)度,則該人員靜止不動(dòng)。4)在人員選擇下一目標(biāo)格點(diǎn)時(shí),如果移動(dòng)區(qū)域內(nèi)存在多個(gè)位置危險(xiǎn)度 最小值的格點(diǎn),人員以相同的概率隨機(jī)選擇其中一個(gè)格點(diǎn)作為下一步目標(biāo)格

11、點(diǎn)。5)模型采用并行更新,存在多人同時(shí)競(jìng)爭(zhēng)一個(gè)空閑位置的情況,人員 之間存在沖突時(shí),系統(tǒng)將以相等概率隨機(jī)選擇一個(gè)人占據(jù)該格點(diǎn),被選擇的 人將移動(dòng)到該格點(diǎn),沒(méi)有被選中的人將留在原地保持位置不變。6)當(dāng)人員移動(dòng)到“門(mén)”所在的位置時(shí),其下一時(shí)間步,具體情況根據(jù) 走廊人員移動(dòng)規(guī)則確定。教室的情況:算法流程圖:目標(biāo)矩陣XNew D:新的教室人 員的分布New D選擇目標(biāo)矩陣(x,y) 位置的元胞位置P,QP為x坐標(biāo)Q為y坐標(biāo)矩陣H:成功搶 到(x,y)位置的 矩陣走廊部分:一般情況下,走廊也為矩形,且我們考慮走廊能走3排人的情況,出口設(shè)置 在上方,如圖所示,白色為過(guò)道區(qū)域。因而我們可以建立一個(gè)包含所有教

12、室和走 廊的大小為116 X 26的大矩陣A,其中第1列代表走廊的墻,第2、3、4列代表 走廊,第5列表示教室的左側(cè)含門(mén)的墻。按照教室劃分網(wǎng)格的規(guī)則,將走廊平面 劃分為二維網(wǎng)格,每個(gè)網(wǎng)格相當(dāng)于一個(gè)元胞,大小為0.4 X0.4m22,人員只能占據(jù)一個(gè)元胞,在白色區(qū)域移動(dòng)。每個(gè)格點(diǎn)對(duì)應(yīng)一個(gè)位置危險(xiǎn)度,人員根據(jù)其領(lǐng)域內(nèi)格點(diǎn)的位置危險(xiǎn)度確定下 一時(shí)刻的運(yùn)動(dòng)情況,采用擴(kuò)展的Von-Neumanr鄰居,人員可向5個(gè)方向運(yùn)動(dòng)或保 持靜止。每一時(shí)步取0.25秒3,走廊內(nèi)人員每個(gè)時(shí)步更新一次。 在整個(gè)演化過(guò) 程中,人員每次更新位置只能移動(dòng)一個(gè)格點(diǎn)。人員運(yùn)動(dòng)規(guī)則如下:1)計(jì)算格點(diǎn)與出口的距離Sxy,設(shè)門(mén)的位置為(

13、Xo,yo)v(x- Xo)2 + (y- yo)2(格點(diǎn)為空格)S(x, y) = M(格點(diǎn)被人、墻、書(shū)桌占據(jù))式中,(x,y)為元胞在系統(tǒng)中的坐標(biāo),X0、y為門(mén)在系統(tǒng)中的坐標(biāo),M為大于 整個(gè)樓層對(duì)角線長(zhǎng)度的最小整數(shù),在本題中為116。2)確定每個(gè)格點(diǎn)的位置危險(xiǎn)度A(x,y)0(格點(diǎn)在出口處)A(x,y) = M(格點(diǎn)被人、墻占據(jù))Sxy(格點(diǎn)與出口的距離為Sxy )其中x、y為格點(diǎn)位置。同時(shí)我們將格點(diǎn)在門(mén)口處的位置危險(xiǎn)度定義為其左 側(cè)格點(diǎn)的位置危險(xiǎn)度。3)我們認(rèn)為當(dāng)學(xué)生到達(dá)教室門(mén)口位置時(shí),受心理因素影響,我們可酌情將教室門(mén)口所在位置的位置危險(xiǎn)度定義為其左側(cè)元胞的位置危險(xiǎn)度。4)比較人員其鄰

14、域內(nèi)各格點(diǎn)的位置危險(xiǎn)度,位置危險(xiǎn)度最小的格點(diǎn)作為該人員下一時(shí)刻的運(yùn)動(dòng)目標(biāo)格點(diǎn)。 若運(yùn)動(dòng)目標(biāo)格點(diǎn)位置危險(xiǎn)度小于該人員 所在格點(diǎn)的位置危險(xiǎn)度,人員運(yùn)動(dòng)到該格點(diǎn);大于等于該人員所在格點(diǎn)的位 置危險(xiǎn)度,則該人員靜止不動(dòng)。5)在人員選擇下一目標(biāo)格點(diǎn)時(shí),如果移動(dòng)區(qū)域內(nèi)存在多個(gè)位置危險(xiǎn)度 最小值的格點(diǎn),人員以相同的概率隨機(jī)選擇其中一個(gè)格點(diǎn)作為下一步目標(biāo)格 點(diǎn)。6)模型采用并行更新,存在多人同時(shí)競(jìng)爭(zhēng)一個(gè)空閑位置的情況,人員 之間存在沖突時(shí),系統(tǒng)將以相等概率隨機(jī)選擇一個(gè)人占據(jù)該格點(diǎn),被選擇的 人將移動(dòng)到該格點(diǎn),沒(méi)有被選中的人將留在原地保持位置不變。7)直到走廊里首次全為0時(shí),所有學(xué)生都逃離教學(xué)樓。III iii

15、i iiii iiii疏散后疏散前運(yùn)行結(jié)果:N=180= = = = -= = -=三=N=332N=120N=30N=60= = =-=二三二三= -= =1N=270N=240N=300四、結(jié)論:在本題中,用該模型進(jìn)行人員疏散仿真模擬,運(yùn)行次數(shù)為333(即 83.25s )時(shí),四間教室共 360 人可全部逃離教學(xué)樓。 該結(jié)果與實(shí)際情況相符, 所以模型的 仿真效果良好。五、檢驗(yàn):我 們 將 模 型 運(yùn) 行 30 次 , 得 到 不 同 的 運(yùn) 行 次 數(shù) , 分 別 為 : 333,340,334,328,339,322,335,336,333,339,337,331,340,335,332

16、,338,326,3 34,330,329,334,319,334,329,333,332,331,335,329,344 。對(duì)此我們求得其均值 為 333.0333,方差為 28.1023 ,方差所表示的相差的時(shí)間約為7.1s, 因此模型是比較穩(wěn)定的。六、參考文獻(xiàn):1 劉來(lái)福,黃海洋,曾文藝數(shù)學(xué)模型與數(shù)學(xué)建模北京:北京師范大學(xué) 出版社 20092 薛鵬,周金旺,白克釗,孔令江,劉慕仁多房間中人員在走廊疏散的 元胞自動(dòng)機(jī)模擬研究廣西師范大學(xué)物理科學(xué)與技術(shù)學(xué)院,廣西桂林 5410043 劉永淇 . 室內(nèi)人員疏散的元胞自動(dòng)機(jī)模擬研究 . 廣西師范大學(xué)碩士學(xué)位 論文 2011 年 4 月4 七、附錄

17、: Matlab 代碼附錄一,教室情況:function D=choic(D)A=zeros(29,22); %生成一個(gè)29行22列的零矩陣,并且處理好后的A矩陣將表示每個(gè)元胞對(duì)門(mén)口的渴望程度 B=ones(25,22); %生成 25行22列的每個(gè)位置是 1的矩陣,這個(gè)是為了處理A(5:29,:)=sqrt(cumsum(B,1)-1)A2+(cumsum(B,2)-1)A2);% 運(yùn)用計(jì)算技巧計(jì)算好每個(gè)元胞距門(mén)口的距離C=ones(4,22); %生成 4行22列的每個(gè)位置是 1 的矩陣A(1:4,:)=sqrt(cumsum(C,1)-5).A2+(cumsum(C,2)-1).A2);

18、% 運(yùn)用計(jì)算技巧計(jì)算好每個(gè)元胞距門(mén)口的距離M=ceil(sqrt(113A2+26A2);%取整個(gè)樓層的對(duì)角線的向上取整作為最遠(yuǎn)的距離,這里也是編寫(xiě)完走廊之后為了將兩個(gè)程序拼寫(xiě)在一起才做的微調(diào),否則取房間的對(duì)角線向上取整即可A(:,1 22)=M;A(1 29,:)=M;%給出墻壁的障礙量A(4 5,10 11 12 13)=M;%給出講臺(tái)的障礙量A(8:2:24,4 5 6 10 11 12 13 17 18 19)=M;%給出桌子的障礙量% 給出位于鄰接座位中間位子的距門(mén)口的距離 ,這里去除了A(9:2:25,5 11 12 18)=A(9:2:25,5 11 12 18); +1 的情況

19、A(5,1)=0; %給出門(mén)口的位置%D=zeros(29,22);% 另給出一張表,表示在同樣大小的教室 給出教室中人員的位置%D(9:2:25,4 5 6 10 11 12 13 17 18 19)=M;%在這里給出矩陣D是為了驗(yàn)證程序?qū)懙恼_性時(shí)便于調(diào)用%給出目標(biāo)矩陣,即人作出的選擇,下一刻,即將要走向的位置%給出想要運(yùn)動(dòng)到X中的同一目標(biāo)(x,y)的人所在的位置,其上值為x*sqrt(2)+y*sqrt(3) x,y )去%生成一張隨機(jī)數(shù)表,用于最后的決策判斷,注意這個(gè)表所應(yīng)該放置的位置%生成矩陣H式為了作為最后成功搶到位置的人所在的位置X=zeros(29,22);Y=zeros(29

20、,22); 表示目標(biāo)要到(Z=rand(29,22);H=zeros(29,22);%A(5,1)=0;% 給出初始值%D(5,1)=0;% 給出D的門(mén)口的位置else length(find(F=d(1)=2;%考慮同時(shí)出現(xiàn)兩個(gè)最小值得情況A(8:2:24,4 5 6 10 11 12 13 17 18 19)=M;%給出桌子的障礙量else length(find(F=d(1)=2;%考慮同時(shí)出現(xiàn)兩個(gè)最小值得情況A(8:2:24,4 5 6 10 11 12 13 17 18 19)=M;%給出桌子的障礙量%X(5,1)=0;%Y(5,1)=0;%Z(5,1)=0;%這些量是在單獨(dú)考慮一個(gè)

21、房間時(shí)使房間門(mén)口的人走出去,如果考慮整個(gè)樓層,則使教室的人走出去的工作放在 run 函數(shù)中了for x=2:28; %給出x的循環(huán)范圍for y=2:21; %給出y的循環(huán)范圍if D(x,y)=M%九宮格的中心如果是人的話才進(jìn)行如下操作E=max(A,D); %取A和D中對(duì)應(yīng)值的最大的表示此刻人也在教室,同時(shí)除本人所在的位置之外的每個(gè)元胞的值表示此人距門(mén)口的距離F=E(x-1):1:(x+1),(y-1):(y+1); % 取出以( x,y )為中心的九宮格F(2,2)=A(x,y); % 九宮格的中心對(duì)別人有影響,對(duì)自己沒(méi)有,所以改回原來(lái)的值G=sort(F); % 對(duì)列排序 b=G(1,

22、:); % 取行向量 d=sort(b); % 對(duì)行向量排序if length(find(F=d(1)=1% 先考慮找到的最小值為 1個(gè)的情況r,c=find(F=d(1);%找到最小值的位置if r=2&c=2%最小值恰好在中心else length(find(F=d(1)=2;%考慮同時(shí)出現(xiàn)兩個(gè)最小值得情況A(8:2:24,4 5 6 10 11 12 13 17 18 19)=M;%給出桌子的障礙量else length(find(F=d(1)=2;%考慮同時(shí)出現(xiàn)兩個(gè)最小值得情況A(8:2:24,4 5 6 10 11 12 13 17 18 19)=M;%給出桌子的障礙量X(x,y)=

23、D(x,y); %目標(biāo)矩陣是其本身,保持不變Y(x,y)=x*sqrt (2)+y*sqrt(3);%給出到達(dá)目標(biāo)矩陣(x,y)的位置上的值else p=x-2+r;%最小值不在中心的時(shí)候找到的最小值位置即為目標(biāo)位置q=y-2+c;if p=1X(p,q)=M; %給出目標(biāo)矩陣Y(x,y)=p*sqrt (2)+q*sqrt(3);%給出到達(dá)目標(biāo)矩陣(x,y)的位置上的值 else X(x,y)=D(x,y);Y(x,y)=x*sqrt(2)+y*sqrt(3);endendelse length(find(F=d(1)=2;%考慮同時(shí)出現(xiàn)兩個(gè)最小值得情況r,c=find(F=d(1); s=

24、rand(1);if s0.5 p=x-2+r(1); q=y-2+c(1);if p=1;X(p,q)=M;Y(x,y)=p*sqrt(2)+q*sqrt(3);else X(x,y)=D(x,y);Y(x,y)=x*sqrt(2)+y*sqrt(3);endelse p=x-2+r(2); q=y-2+c(2);if p=1;X(p,q)=M;Y(x,y)=p*sqrt(2)+q*sqrt(3);else X(x,y)=D(x,y);Y(x,y)=x*sqrt(2)+y*sqrt(3);endendendendendendfor x=2:28; %給出x的循環(huán)范圍for y=2:22; %

25、給出y的循環(huán)范圍if X(x,y)0;丫仁丫(x-1):1:(x+1),(y-1):(y+1);%對(duì)目標(biāo)(x,y)給出九宮格Y2=Z(x-1):1:(x+1),(y-1):(y+1);%給出九宮格的隨機(jī)數(shù)作為之后的判斷w=x*sqrt(2)+y*sqrt(3);%(Y仁=w)*Y2;%從九宮格中找到以中心為目標(biāo)的人所對(duì)應(yīng)的隨機(jī)數(shù)t=max(max(Y =w).*Y2);%找到以中心為目標(biāo)的人所對(duì)應(yīng)位置的最大值r1,c1=find(Y1=w).*Y2=t);%找到最大值的位置H(x-2+r1,y-2+c1)=M;%將搶到中心的位置在 H中的位置值改為 Mendendend%對(duì)以( 5,1 )為目

26、標(biāo)的應(yīng)該如何討論for x=2:28; %給出x的循環(huán)范圍for y=1; %給出y的循環(huán)范圍if X(x,y)0;Y1=Y(x-1):1:(x+1),y:(y+1);%對(duì)目標(biāo)(x,y)給出九宮格Y2=Z(x-1):1:(x+1),y:(y+1);%給出九宮格的隨機(jī)數(shù)作為之后的判斷 w=x*sqrt(2)+y*sqrt(3);%(Y1=w)*Y2;% 從九宮格中找到以中心為目標(biāo)的人所對(duì)應(yīng)的隨機(jī)數(shù)t=max(max(Y1=w).*Y2); % 找到以中心為目標(biāo)的人所對(duì)應(yīng)位置的最大值r1,c1=find(Y1=w).*Y2=t); % 找到最大值的位置H(x-2+r1,c1)=M;%將搶到中心的位

27、置在 H 中的位置值改為 MendendendD=D+X-H; % 應(yīng)用一個(gè)十分簡(jiǎn)單地公式給出下一個(gè)時(shí)間步的教室中的人員分布情況end附錄二,走廊情況:function D =corridor( D)%這個(gè)是為了刻畫(huà)走廊中的人員疏散時(shí)的情況M=ceil(sqrt(113A2+26A2);B=zeros(113,5); %B矩陣是為了給出走廊上的位置危險(xiǎn)度B(:,1,5)=M;B(113,:)=M; %因?yàn)樽呃葲](méi)有障礙物,有障礙物也只能是人,在三行走廊中,中間位置的有更多的選擇, %所以我們將每個(gè)位置距門(mén)口中間位置的距離定義為該元胞處的位置危險(xiǎn)度,且門(mén)口的三個(gè)位置位置危險(xiǎn) 度為 0B1=ones

28、(112,2); B(1:112,3:4)=sqrt(cumsum(B1,1)-1).A2+(cumsum(B1,2)-1).A2);B(1:112,2)=B(1:112,4); %然后給出門(mén)口的位置危險(xiǎn)度,我們認(rèn)為門(mén)口的位置危險(xiǎn)度與其左側(cè)的相同B(5,5)=B(5,4);B(33,5)=B(33,4);B(61,5)=B(61,4);B(89,5)=B(89,4);B(1,2:4)=0; %門(mén)口位置的三個(gè)位置的位置危險(xiǎn)度為 0%至此,走廊上的每個(gè)元胞的位置危險(xiǎn)度都由B矩陣給出%下面給出矩陣D,表示出人在走廊的位置%D=zeros(113,5);%當(dāng)教室中的人出來(lái)之后,就可以通過(guò)改變D進(jìn)而確定

29、人在走廊中的位置%這里的矩陣D應(yīng)該是在驗(yàn)證時(shí)用到,在程序正文中可以不出現(xiàn)X=zeros(113,5); %給出目標(biāo)矩陣 XP=zeros(113,5);%矩陣P給出以X中某個(gè)(x,y)為目標(biāo)的人的位置的x值Q=zeros(113,5); %矩陣Q給出以X中某個(gè)(x,y)為目標(biāo)的人的位置的y值Z=rand(113,5);%生成一張隨機(jī)數(shù)表,為了之后的決算H=zeros(113,5);for y=2:4;for x=2:112;if D(x,y)=M%六個(gè)格子下方中間記做此六個(gè)格子的中心,如果是人的話才進(jìn)行如下操作E=max(B,D); %取A和D中對(duì)應(yīng)值的最大的表示此刻人也在教室,同時(shí)除本人所在

30、的位置之外的每個(gè)元 胞的值表示此人距門(mén)口的距離F=E(x-1):(x),(y-1):(y+1); %取出以( x,y )為中心的六個(gè)格子F(2,2)=B(x,y); % 六個(gè)格子的中心對(duì)別人有影響,對(duì)自己沒(méi)有,所以改回原來(lái)的值% 先考慮找到的最小值為 1個(gè)的情況G=sort(F); % 對(duì)列排序 b=G(1,:); % 取行向量 d=sort(b); % 對(duì)行向量排序 if length(find(F=d(1)=1r,c=find(F=d(1);%找到最小值的位置if r=2&c=2%最小值恰好在中心X(x,y)=D(x,y); % 即在中心不動(dòng)P(x,y)=x; % 要到( x,y )去,給

31、出以( x,y )為目標(biāo)的位置Q(x,y)=y; else p=x-2+r;%最小值不在中心的時(shí)候找到的最小值位置即為目標(biāo)位置q=y-2+c;X(p,q)=M;P(x,y)=p; %要到( x,y )去,給出以( x,y )為目標(biāo)的人位置 Q(x,y)=q;endelse length(find(F=d(1)=2;% 考慮同時(shí)出現(xiàn)兩個(gè)最小值得情況,也應(yīng)該只有可能出現(xiàn)兩個(gè)最小值r,c=find(F=d(1);s=rand(1);if s0.5p=x-2+r(1);q=y-2+c(1);X(p,q)=M;P(x,y)=p; %要到( x,y )去,給出以( x,y )為目標(biāo)的位置Q(x,y)=q;

32、elsep=x-2+r(2);q=y-2+c(2);X(p,q)=M;P(x,y)=p; %要到( x,y )去,給出以( x,y )為目標(biāo)的位置Q(x,y)=q;endendendendendfor y=5; % 對(duì)在門(mén)這一列單獨(dú)拿出來(lái)說(shuō)for g=1:4x=5+(g-1)*28;if D(x,y)=M;% 四個(gè)格子右下格子記做此四個(gè)個(gè)個(gè)格子的中心,如果是人的話才進(jìn)行如下操作E=max(B,D); %F=E(x-1):(x),(y-1):y);%取出以(x,y)為中心的四個(gè)個(gè)格子F(2,2)=B(x,y); % 四個(gè)格子的中心對(duì)別人有影響,對(duì)自己沒(méi)有,所以改回原來(lái)的值G=sort(F); %

33、 對(duì)列排序b=G(1,:); % 取行向量 d=sort(b); % 對(duì)行向量排序if length(find(F=d(1)=1 ;%找到的最小值為 1 個(gè)r,c=find(F=d(1);%找到最小值的位置if r=2&c=2 % 最小值恰好在中心 X(x,y)=D(x,y); % 即在中心不動(dòng)P(x,y)=x; % 要到( x,y )去,給出以( x,y )為目標(biāo)的位置 Q(x,y)=y;else p=x-2+r;%最小值不在中心的時(shí)候找到的最小值位置即為目標(biāo)位置q=y-2+c;X(p,q)=M;P(x,y)=p; %要到( x,y )去,給出以( x,y )為目標(biāo)的位置 Q(x,y)=q;

34、endendendendendfor x=1:112; %給出x的循環(huán)范圍for y=2:4; %給出y的循環(huán)范圍if X(x,y)0;P1=P(x:1:(x+1),(y-1):(y+1);%對(duì)以目標(biāo)(x,y)為中心(此處的中心為六個(gè)格子中第一排的中間位置)的周?chē)鶄€(gè)元胞Q1=Q(x:1:(x+1),(y-1):(y+1);Z1=Z(x:1:(x+1),(y-1):(y+1);%給出六個(gè)元胞的隨機(jī)數(shù)作為之后的判斷%(P1=x&Q1=y).*Z1;% 從九宮格中找到以中心為目標(biāo)的人所對(duì)應(yīng)的隨機(jī)數(shù) t=max(max(P1=x&Q1=y).*Z1);%找到以中心為目標(biāo)的人所對(duì)應(yīng)位置的最大值r,c=

35、find(P1=x&Q1=y).*Z1=t);%找到最大值的位置H(x-1+r,y-2+c)=M;%將搶到中心的位置在H中的位置值改為Mendendend %同樣地,對(duì)門(mén)這一列單獨(dú)拿出來(lái)說(shuō)if X(5,5)=M;H(5,5)=M;endif X(33,5)=M;H(33,5)=M;endif X(61,5)=M;H(61,5)=M;endif X(61,5)=M;H(61,5)=M;endD=D+X-H;end附錄三,整個(gè)教學(xué)樓的情況:function C=run(C)%給出整層教學(xué)樓的逃生情況模擬,C表示教學(xué)樓中人的分布,run函數(shù)的作用就是將整個(gè)樓層的時(shí)間步狀態(tài) 更新一次,呈現(xiàn)出新的人員分

36、布狀況% 這里應(yīng)該先判斷走廊的情況M=ceil(sqrt(113A2+26A2);L=C(1,1:5);r,c=find(L=M);%給出第一行,即走廊門(mén)口處的人所在的位置C(:,1:5)=corridor(C(:,1:5);%走廊依托之前的形式進(jìn)行一個(gè)時(shí)間步的變化C(r,c)=0; %上一時(shí)間步的處于門(mén)口的位置的人走出教室 %給出教室的人員時(shí)間步更新C(1:29,5:26)=choic(C(1:29,5:26);C(29:57,5:26)=choic(C(29:57,5:26);C(57:85,5:26)=choic(C(57:85,5:26);C(85:113,5:26)=choic(C(85:113,5:26);end附錄四,畫(huà)圖:function drawing(C)%這個(gè)是為了畫(huà)出圖來(lái)A=zeros(113,

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論