【元胞自動(dòng)機(jī)】基于元胞自動(dòng)機(jī)多車道信號(hào)交叉口仿真含Matlab源碼
1 簡(jiǎn)介
元胞自動(dòng)機(jī)不僅是理論計(jì)算機(jī)科學(xué)領(lǐng)域的一個(gè)重要的計(jì)算模型 ,而且可視為一無限維的離散動(dòng)力系統(tǒng) ,被廣泛應(yīng)用于自然科學(xué)和社會(huì)科學(xué)各領(lǐng)域的復(fù)雜性的研究中 ,是一個(gè)重要的研究方法和工具.該文以Matlab為開發(fā)工具 ,開發(fā)了元胞自動(dòng)機(jī)的可視模型 ,為其在各個(gè)領(lǐng)域的復(fù)雜性研究提供了一個(gè)簡(jiǎn)易,可行的計(jì)算機(jī)仿真工具.本文基于元胞自動(dòng)機(jī)實(shí)現(xiàn)多車道信號(hào)交叉口仿真.
2 部分代碼
clear all
clf
nx=130; %must be divisible by 4
ny=122;
Pbridge = .05;
z=zeros(nx,ny);
o=ones(nx,ny);
traf = z ;
trafNew = z;
trafB=z;
gnd = z ;
gn=z;
gnd(50, 1:ny) = 1 ;
gnd(79, 1:ny) = 1 ;
gnd(1:nx, 50) = 1 ;
gnd(1:nx,71) = 1 ;
gnd(nx/2, 1: 50) = 1 ;
gnd(nx/2, 71:ny) = 1 ;
gnd(1: 50, ny/2) = 1 ;
gnd(79:nx,ny/2)=1;
imh = image(cat(3,z',traf',gnd'));
set(imh, 'erasemode', 'none');
%第一相位 0到38秒
%進(jìn)口
for i=1:100
%綠燈
? %東進(jìn)口
? %直行 右轉(zhuǎn)
traf(129,55) =round(rand(1,1)/1.8); %add a grain at the top
xind = [80:129];
yind=55;
trafNew(xind-1,yind)=traf(xind,yind);
traf(129,53) =round(rand(1,1)/1.76); %add a grain at the top
xind = [79:129];
yind=53;
trafNew(xind-1,yind)=traf(xind,yind);
%西進(jìn)口
%直行 右轉(zhuǎn)
traf(1,66) =round(rand(1,1)/1.76); %add a grain at the top
xind = [1:49];
yind=66;
trafNew(xind+1,yind)=traf(xind,yind);
trafNew(xind+1,yind)=traf(xind,yind);
traf(1,68) =round(rand(1,1)/1.76); %add a grain at the top
xind = [1:49];
yind=68;
trafNew(xind+1,yind)=traf(xind,yind);
%南進(jìn)口
? %右轉(zhuǎn)
traf(77,122) =round(rand(1,1)/1.76); %add a grain at the top
yind = [71:122];
xind=77;
trafNew(xind,yind-1)=traf(xind,yind);
%北進(jìn)口
?%右轉(zhuǎn)
traf(53,1) =round(rand(1,1)/1.76); %add a grain at the top
yind = [1:50];
xind=53;
trafNew(xind,yind+1)=traf(xind,yind);
%交叉口內(nèi)部
?%東進(jìn)口直行
xind = [50:80];
yind=55;
trafNew(xind-1,yind)=traf(xind,yind);
%西進(jìn)口直行;
xind = [50:80];
yind=66;
trafNew(xind+1,yind)=traf(xind,yind);
%出口
%東出口
xind = [79:122];
yind=[65:79];
trafNew(xind+1,yind)=traf(xind,yind);
%西出口
xind = [2:50];
yind=[50:60];
trafNew(xind-1,yind)=traf(xind,yind);
%南出口
yind = [71:120];
xind=[50:63];
trafNew(xind,yind+1)=traf(xind,yind);
%北出口
yind = [2:50];
xind=[67:77];
trafNew(xind,yind-1)=traf(xind,yind);
%針對(duì)右轉(zhuǎn)車道的代碼
%東進(jìn)口右轉(zhuǎn)
trafNew(77,50)=traf(79,53);
%西進(jìn)口右轉(zhuǎn)
trafNew(53,71)=traf(50,68);
%南進(jìn)口右轉(zhuǎn)
trafNew(79,68)=traf(77,71);
%北進(jìn)口右轉(zhuǎn)
trafNew(50,53)=traf(53,50);
3 仿真結(jié)果

4 參考文獻(xiàn)
[1]劉建仁. 基于元胞自動(dòng)機(jī)仿真建模的交叉口公交優(yōu)先策略. Diss. 長(zhǎng)安大學(xué), 2017.
博主簡(jiǎn)介:擅長(zhǎng)智能優(yōu)化算法、神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)、信號(hào)處理、元胞自動(dòng)機(jī)、圖像處理、路徑規(guī)劃、無人機(jī)等多種領(lǐng)域的Matlab仿真,相關(guān)matlab代碼問題可私信交流。
部分理論引用網(wǎng)絡(luò)文獻(xiàn),若有侵權(quán)聯(lián)系博主刪除。
