




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、2014美賽A題元胞自動(dòng)機(jī)完整代碼,做出來(lái)了有木有2014美賽相關(guān)MATLAB程序(基于NS模型)主程序:NaSch_3. m程序代碼%單車道最大速度3個(gè)元胞開口邊界條件加速減速隨機(jī)慢化elf clear all%build the GUI%define the plot button plotbutton=uicontrol ('style','pushbutton', 'string', Run',.'fontsize', 12,'position', 100, 400, 50, 20,.'ca
2、llback', 'run=l;');%define the stop buttonerasebutton=uicontrol(' style' ,' pushbutton','string' ,' Stop','fontsize' , 12,'position1, 200, 400, 50, 20,1 callback',' freeze=l;');%define the Quit button quitbutton=uicontrol('style
3、'pushbutton', 'string', Quit,.'fontsize' , 12,'position1, 300, 400, 50, 20,.'callback',' stop=l;close / );number = uicontrol (' style', text", . string'1','fontsize' ,12,.position , 20, 400, 50, 20);%CA setupn=100; %數(shù)據(jù)初始化z=zeros(l,
4、 n) ; %元胞個(gè)數(shù)z=roadstart (z, 5); %道路狀態(tài)初始化,路段上隨機(jī)分布5輛cells二z;vmax=3; %最大速度v=speedstart (cells, vmax) ; %速度初始化x=l; %記錄速度和車輛位置 memor_cells=zeros(3600, n);memor_v=zeros(3600, n);imh=imshow(cells) ; %初始化圖像白色有車,黑色空元胞set (imh,erasemode, none")axis equalaxis tightstop=0; %wait for a quit button push run=0
5、; %wait for a drawfreeze=0; %wait for a freeze (凍結(jié))while (stop=0)if(run=l)%邊界條件處理,搜素首末車,控制進(jìn)出,使用開口條件a=searchleadcar (cells);b=searchlastcar (cells);cells, v=border_control (cells, a, b, v, vmax);i=searchleadcar (cells) ; %搜索首車位置for j=l:iif i-j+l=nz, v=leadcarupdate (z, v);1continue;else%=加速、減速、隨機(jī)慢化if
6、 cells(i-j+l)=0; %判斷當(dāng)前位置是否非空continue;else v(i-j+l)=min(v(i-j+l)+l, vmax); %加速%=減 速k二searchfrontcar(i-j+1), cells) ; %搜素前方首個(gè)非空元胞位置if k=0; %確定于前車之間的元胞數(shù)d=n-(i-j+1);else d=k-(i-j+1)-1;endv (i-j+1) =min(v (i-j+1), d);%=% 減速%隨機(jī)慢化v(i-j+1) =randslow(v(i-j+1);new_v=v (i-j+1);睨=加速、減速、隨機(jī)慢化%更新車輛位置z(i-j+l)=O;z (
7、i-j+l+new_v) =1;%更新速度v(i-j+D=o;v (i-j+l+new_v) =new_v;endendendcells=z;memor_cells(x, :)=cells; %記錄速度和車輛位置memor_v(x, :)=v;x=x+l;set (imh,J cdata*, cells) %更新圖像%update the step number displaypause (0. 2);stepnumber = 1 + str2num(get(number,J string);set(number, string, num2str(stepnumber)endif (freez
8、e=l)run = 0;freeze = 0;enddrawnowend/函數(shù):border_control.m程序代碼Functionnew_matrix_cells, new-v=border_control(matrix_cells, a, b, v, v max)%邊界條件,開口邊界,控制車輛出入%出口邊界,若頭車在道路邊界,則以一定該路0.9離去n=1ength(matr i x_c ells);if a=n2rand(, state*, sum(100*clock) *rand(l) ;%?0aE3e?uOOX6p_l=rand(l); %產(chǎn)生隨機(jī)概率if P_1<=1 %如
9、果隨機(jī)概率小于0.9,則車輛離開路段,否則不離口matrix_cells(n)=0;V(n)=0;endend先入口邊界,泊松分布到達(dá),Is內(nèi)平均到達(dá)車輛數(shù)為q, t為Is if b>vmax t=l;q=0. 25;X=l;p= (q*t) "x*exp(-q*t)/prod(x); %ls 內(nèi)有 1 輛車到達(dá)的概率rand(' state', sum(100*clock) *rand(1);p_2=rand(l);if P_2二pm=min(b-vmax, vmax);matrix_cells(m)=l;v (m)= m;endendnew matrix c
10、ells=matrix cells;new_v=v;/ /函數(shù):leadcarrupdate. m程序代碼function new_matrix_cells, new_v=1eadcarupdate(matrix_cells, v)%第一輛車更新規(guī)則n=1ength(matr i x_cells);if v(n)=0matrix_cells(n)=0;V(n)=0;endnew matrix cells=matrix cells;new_v=v;/ /函數(shù):rands low. m程序代碼function new_v=randslow(v)P=0.3; %慢化概率rand (' sta
11、te', sum(100*clock) *rand (1) ;%?daEse?uOOX 6 p_rand=rand; %產(chǎn) 生隨機(jī)概率if p_rand<=pv=max (v-1, 0);endnew_v=v;/III3函數(shù):roadstart, m程序代碼function Lmatrix_cells_startJ=roadstart (matrix_cells, n) %道路上的車輛初始化狀態(tài),元胞矩陣隨機(jī)為0或1, matrix_cells初始矩陣,n初始車輛數(shù)k=1ength(matr i x_c ells);z=round (k*rand(l, n);for i=l:nJ
12、=z(i);if j=0matrix_cells (j)=0;elsematrix_cells (j)=l;endendmatrix cells start=matrix cells;/ /函數(shù):searchfrontcar. m程序代碼functionlocation_frontcar=searchfrontcar(current_location, matrix_cells) i=length(matrix_cells);if current_location= ilocation_frontcar=0;elsefor j=current_location+l:iif matrix_cel
13、ls(j)=0location_frontcar=j;break;elselocation_frontcar=0;endendend/III函數(shù):searchlastcar. m程序代碼function Llocation_lastcar=searchlastcar(matrix_cells) %搜索尾車位置for i=l:length(matrix_celIs)if matrix_cells(i)=0location_lastcar=i;break;else %如果路上無(wú)車,則空元胞數(shù)設(shè)定為道路長(zhǎng)度location_lastcar=length(matrix_cells);endend/III4函數(shù):searchleadcar. m程序代碼function Llocation_leadcar=searchleadcar(matrix_cells) i=length(matrix_cells);for j=l:iif matrix_cells(i-j+1)=0location_leadcar=i-j+l;break;elselocation_leadcar=0;endend/ /函數(shù):spea
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 互聯(lián)網(wǎng)企業(yè)信息安全防護(hù)計(jì)劃
- 班主任工作計(jì)劃塑造和諧發(fā)展班級(jí)
- 《晴隆縣紅寨煤業(yè)有限責(zé)任公司晴隆縣中營(yíng)鎮(zhèn)紅寨煤礦(變更)礦產(chǎn)資源綠色開發(fā)利用方案(三合一)》評(píng)審意見
- 《貴州聯(lián)眾礦業(yè)有限公司水城縣立火新華錳礦廠(延續(xù))礦產(chǎn)資源綠色開發(fā)利用方案(三合一)》評(píng)審意見
- 鹽源伯特利煤焦化有限責(zé)任公司梅家坪煤礦礦山地質(zhì)環(huán)境保護(hù)與土地復(fù)墾方案情況
- 統(tǒng)編版小學(xué)語(yǔ)文二年級(jí)下冊(cè)口語(yǔ)交際《圖書借閱公約》精美課件
- 重癥護(hù)理文書書寫規(guī)范
- 2025年雅安貨運(yùn)從業(yè)資格證考試技巧
- 自然環(huán)境 教學(xué)設(shè)計(jì)-2024-2025學(xué)年人教版地理七年級(jí)下冊(cè)
- 2025年廈門道路運(yùn)輸從業(yè)資格證考試題和答案
- Module 5 Unit 2 公開課教學(xué)設(shè)計(jì)(外研版九年級(jí)下冊(cè)教案)
- AQ-T 3002-2021阻隔防爆橇裝式加油(氣)裝置技術(shù)要求
- (正式版)QBT 8022-2024 冷凍飲品 食用冰
- 神經(jīng)經(jīng)濟(jì)學(xué)展示
- 危大工程安全檢查錄表
- 北師大版心理健康四年級(jí)下冊(cè)全冊(cè)教案教學(xué)設(shè)計(jì)
- 品牌服裝設(shè)計(jì)課件
- 肝病科進(jìn)修總結(jié)匯報(bào)
- 化妝品企業(yè)質(zhì)量管理手冊(cè)
- 區(qū)域間的數(shù)據(jù)共享協(xié)議
- 建筑工程施工日志模板
評(píng)論
0/150
提交評(píng)論