【元胞自动机】基于元胞自动机模拟交通事故下的通行情况含Matlab源码

网友投稿 236 2022-09-06


【元胞自动机】基于元胞自动机模拟交通事故下的通行情况含Matlab源码

1 简介

随着城市社会经济的发展,交通流量的增长与现有道路状况之间的矛盾日益突出,已成为制约城市经济发展的主要因素之一.因此,近年来交通问题受到了国内外专家的重视,提出了各种各样的交通模型用以研究交通问题.其中元胞自动机模型可以灵活地加以修改以考虑各种真实的交通条件并且可以有效的进行计算机实时仿真,它为交通流理论中的系统整体行为与复杂的非线性动力学现象的研究提供了一个有效的模型工具,因此受到了广泛的关注.

2 部分代码

function [plaza, v, number_cars] = new_cars(Arrival, dt, plaza, v, vmax, iteration)%% new_cars introduce new cars. Cars arrive at the toll plaza uniformly in% time (the interarrival distribution is exponential with rate Arrival?). % "rush hour" phenomena can be consider by varying the arrival rate.%% USAGE: [plaza, v, number_cars] = new_cars(Arrival, dt, plaza, v, vmax)% Arrival = the mean total number of cars that arrives % dt = time step% plaza = plaza matrix% 1 = car, 0 = empty, -1 = forbid, -3 = empty&booth% v = velocity matrix% vmax = max speed of car%% zhou lvwen: zhou.lv.wen@gmail.com% Find the empty lanes of the entrance where a new car can be add.unoccupied = find(plaza(1,:) == 0);n = length(unoccupied); % number of available lanes% The number of vehicles must be integer and not exceeding the number of% available lanesnumber_cars =min( poissrnd(Arrival*dt,1), n);% if number_cars > 0 % x = randperm(n);% for i = 1:number_cars% plaza(1, unoccupied(x(i))) = 1;% v(1, unoccupied(i)) = vmax;% end% endnewcarmerge=[2 5 14 30 30 40 42 45 46 50 51 51 52 54 60 61 91 102 106 110 111 112 116 118 118 123 132 133 148 152 153 158 162 169 170 171 172 173 173 174 175 178 178 181 216 221 221 225 232 232 234 238 239 240 269 272 286 288 288 290 291 295 296 299 299 300 303 308 310 310 313 318 318 336 343 343 346 346 348 352 352 355 358 358 359 361 361 363 366 366 374 399 403 408 409 409 412 414 419 421 421 423 425 426 426 458 462 465 467 469 472 472 472 473 477 477 477 477 478 483 483 483 483 487 521 524 524 527 527 531 531 532 536 538 538 541 541 545 545 545 545 548 552 563 564 565 579 584 585 586 589 589 592 593 594 595 595 595 605 605 609 624 639 639 639 641 641 644 645 645 647 649 649 655 659 665 667 670 673 673 693 701 701 701 704 704 707 707 707 708 708 712 712 712 712 761 765 769 769 777 777 781 784 784 786 941 944 946 996 1004 1004 1010 1012 1014 1014 1016 1033 1135 1137 1137 1199 1143 1143 1143 1144];mergelane=[3 3 3 2 3 2 2 2 3 2 2 3 2 2 3 2 1 3 3 2 3 3 2 2 3 3 1 2 2 2 3 3 2 2 3 2 3 2 3 2 1 2 3 2 2 2 3 2 3 3 2 1 1 3 2 2 2 2 3 2 3 2 2 2 3 3 3 2 2 3 1 2 3 1 3 2 2 3 3 2 2 3 2 1 2 2 3 3 2 3 2 2 2 2 2 3 3 2 3 3 3 3 2 1 1 1 3 2 3 2 2 2 3 3 2 2 2 3 3 1 2 2 3 1 3 2 3 2 3 2 2 2 2 2 3 2 2 2 2 1 3 3 1 1 2 2 3 3 3 3 2 3 2 2 2 3 1 2 3 2 2 2 3 1 2 2 1 2 3 2 2 3 2 2 2 2 2 2 2 1 2 2 2 3 2 3 2 2 3 3 2 2 3 2 3 2 3 1 2 1 2 3 1 2 2 2 3 3 2 2 3 2 3 2 2 3 2 3 3 2 3 3 2 3 1];flag=find(newcarmerge==iteration);if flag~=0 for i=1:length(flag) plaza(1,mergelane(flag(i))+1)=1; v(1,mergelane(flag(i))+1)=vmax; end% end% else% if r<0.6 && plaza(2,3)==0 && plaza(1,3)==0% plaza(2,3)=-3;% plaza(1,3)=-3;% v(2,3)=vmax;% v(1,3)=vmax;% elseif plaza(2,4)==0 && plaza(1,4)==0% plaza(2,4)=-3;% plaza(1,4)=-3;% v(2,4)=vmax;% v(1,4)=vmax;% endend

3 仿真结果

4 参考文献

[1]刘学兵. 基于元胞自动机模型的交通事故研究[D]. 东北大学, 2008.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【心电信号】基于多种滤波去除心电信号基线漂移含Matlab源码(心电信号滤波处理matlab报告)
下一篇:List集合多线程并发条件下不安全如何解决
相关文章

 发表评论

暂时没有评论,来抢沙发吧~