2014美国数学建模竞赛MCMA题元胞自动机完整代码

上传人:s9****2 文档编号:563217136 上传时间:2022-08-21 格式:DOC 页数:4 大小:37KB
返回 下载 相关 举报
2014美国数学建模竞赛MCMA题元胞自动机完整代码_第1页
第1页 / 共4页
2014美国数学建模竞赛MCMA题元胞自动机完整代码_第2页
第2页 / 共4页
2014美国数学建模竞赛MCMA题元胞自动机完整代码_第3页
第3页 / 共4页
2014美国数学建模竞赛MCMA题元胞自动机完整代码_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《2014美国数学建模竞赛MCMA题元胞自动机完整代码》由会员分享,可在线阅读,更多相关《2014美国数学建模竞赛MCMA题元胞自动机完整代码(4页珍藏版)》请在金锄头文库上搜索。

1、2014美赛相关MATLAB程序(基于NS模型)主程序:NaSch3.m程序代码%单车道最大速度3个元胞开口边界条件加速减速随机慢化clfclearall%buildtheGUI%definetheplotbuttonplotbutton=uicontrol(style,pushbutton,.string,Run,.fontsize,12,.position,100,400,50,20,.callback,run=1;);%definethestopbuttonerasebutton=uicontrol(style,pushbutton,.string,Stop,.fontsize,12,.

2、position,200,400,50,20,.callback,freeze=1;);%definetheQuitbuttonquitbutton=uicontrol(style,pushbutton,.string,Quit,.fontsize,12,.position,300,400,50,20,.callback,stop=1;close;);number=uicontrol(style,text,.string,1,.fontsize,12,.position,20,400,50,20);%CAsetupn=100;%数据初始化z=zeros(1,n);%元胞个数z=roadstar

3、t(z,5);%道路状态初始化,路段上随机分布5辆cells=z;vmax=3;%最大速度v=speedstart(cells,vmax);%速度初始化x=1;%记录速度和车辆位置memor_cells=zeros(3600,n);memor_v=zeros(3600,n);imh=imshow(cells);%初始化图像白色有车,黑色空元胞set(imh,erasemode,none)axisequalaxistightstop=0;%waitforaquitbuttonpushrun=0;%waitforadrawfreeze=0;%waitforafreeze(冻结)while(stop

4、=0)if(run=1)%边界条件处理,搜素首末车,控制进出,使用开口条件a=searchleadcar(cells);b=searchlastcar(cells);cells,v=border_control(cells,a,b,v,vmax);i=searchleadcar(cells);%搜索首车位置forj=1:iifi-j+1=nz,v=leadcarupdate(z,v);continue;else%=加速、减速、随机慢化ifcells(i-j+1)=0;%判断当前位置是否非空continue;elsev(i-j+1)=min(v(i-j+1)+1,vmax);%加速%=减速k=s

5、earchfrontcar(i-j+1),cells);%搜素前方首个非空元胞位置ifk=0;%确定于前车之间的元胞数d=n-(i-j+1);elsed=k-(i-j+1)-1;endv(i-j+1)=min(v(i-j+1),d);%=%减速%随机慢化v(i-j+1)=randslow(v(i-j+1);new_v=v(i-j+1);%=加速、减速、随机慢化%更新车辆位置z(i-j+1)=0;z(i-j+1+new_v)=1;%更新速度v(i-j+1)=0;v(i-j+1+new_v)=new_v;endendendcells=z;memor_cells(x,:)=cells;%记录速度和车

6、辆位置memor_v(x,:)=v;x=x+1;set(imh,cdata,cells)%更新图像%updatethestepnumberdiaplaypause(0.2);stepnumber=1+str2num(get(number,string);set(number,string,num2str(stepnumber)endif(freeze=1)run=0;freeze=0;enddrawnowend/函数:bordercontrol.m程序代码Functionnew_matrix_cells,new_v=border_control(matrix_cells,a,b,v,vmax)

7、%边界条件,开口边界,控制车辆出入一一%出口边界,若头车在道路边界,则以一定该路0.9离去n=length(matrix_cells);ifa=nrand(state,sum(100*clock)*rand(1);%idaEuOOxOp_1=rand(1);%产生随机概率ifp_1vmaxt=1;q=0.25;x=1;p=(q*t)Ax*exp(-q*t)/prod(x);%1s内有1辆车至U达的概率rand(state,sum(100*clock)*rand(1);p_2=rand(1);ifp_2=pm=min(b-vmax,vmax);matrix_cells(m)=1;v(m)=m;e

8、ndendnew_matrix_cells=matrix_cells;new_v=v;/函数:leadcarrupdate.m程序代码functionnew_matrix_cells,new_v=leadcarupdate(matrix_cells,v)%第一辆车更新规则n=length(matrix_cells);ifv(n)=0matrix_cells(n)=0;v(n)=0;endnew_matrix_cells=matrix_cells;new_v=v;/函数:randslow.m程序代码functionnew_v=randslow(v)p=0.3;%慢化概率rand(state,su

9、m(100*clock)*rand(1);%idaEuOOx6p_rand=rand;%产生随机概率ifp_rand=pv=max(v-1,0);endnew_v=v;/函数:roadstart.m程序代码functionmatrix_cells_start=roadstart(matrix_cells,n)%道路上的车辆初始化状态,元胞矩阵随机为0或1,matrix_c;lls初始矩阵,n初始车辆数k=length(matrix_cells);z=round(k*rand(1,n);fori=1:nj=z(i);ifj=0matrix_cells(j)=0;elsematrix_cells(

10、j)=1;endendmatrix_cells_start=matrix_cells;/函数:searchfrontcar.m程序代码functionlocation_frontcar=searchfrontcar(current_location,matrix_cells)i=length(matrix_cells);ifcurrent_location=ilocation_frontcar=0;elseforj=current_location+1:iifmatrix_cells(j)=0location_frontcar=j;break;elselocation_frontcar=0;e

11、ndendend/函数:searchlastcar.m程序代码functionlocation_lastcar=searchlastcar(matrix_cells)%搜索尾车位置fori=1:length(matrix_cells)ifmatrix_cells(i)=0location_lastcar=i;break;else%如果路上无车,则空元胞数设定为道路长度location_lastcar=length(matrix_cells);endend/函数:searchleadcar.m程序代码functionlocation_leadcar=searchleadcar(matrix_ce

12、lls)i=length(matrix_cells);forj=1:iifmatrix_cells(i-j+1)=0location_leadcar=i-j+1;break;elselocation_leadcar=0;endend/函数:speadstart.m程序代码functionv_matixcells=speedstart(matrix_cells,vmax)%道路初始状态车辆速度初始化v_matixcells=zeros(1,length(matrix_cells);fori=1:length(matrix_cells)ifmatrix_cells(i)=0v_matixcells(i)=round(vmax*rand(1);endend#

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号