location_frontcar=0; else
for j=current_location+1:i ifmatrix_cells(j)~=0 location_frontcar=j; break; else
location_frontcar=0; end end end
% 函数:roadstart.m程序代码
function [matrix_cells_start]=roadstart(matrix_cells,n)
%道路上的车辆初始化状态,元胞矩阵随机为0或1,matrix_cells初始矩阵,n初始车辆数 k=length(matrix_cells); z=round(k*rand(1,n)); fori=1:n j=z(i); if j==0
matrix_cells(j)=0; else
matrix_cells(j)=1; end end
matrix_cells_start=matrix_cells; % 函数:randslow.m程序代码 function [new_v]=randslow(v) p=0.3; %慢化概率
rand('state',sum(100*clock)*rand(1));%?¨?????ú??×? p_rand=rand; %产生随机概率 ifp_rand<=p v=max(v-1,0); end
new_v=v;
% 函数:leadcarrupdate.m程序代码
function [new_matrix_cells,new_=leadcarupdate(matrix_cells,v) %第一辆车更新规则
n=length(matrix_cells); if v(n)~=0
matrix_cells(n)=0; v(n)=0; end
new_matrix_cells=matrix_cells; new_v=v;
% 函数:searchleadcar.m程序代码 function [location_leadcar]=searchleadcar(matrix_cells) i=length(matrix_cells); for j=1:i
ifmatrix_cells(i-j+1)~=0 location_leadcar=i-j+1; break; else
location_leadcar=0; end end
% 函数:speadstart.m程序代码
function [v_matixcells]=speedstart(matrix_cells,vmax) %道路初始状态车辆速度初始化
v_matixcells=zeros(1,length(matrix_cells)); fori=1:length(matrix_cells) ifmatrix_cells(i)~=0
v_matixcells(i)=round(vmax*rand(1)); end end
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库元胞自动机NaSch模型及其MATLAB代码(2)在线全文阅读。
相关推荐: