三车道交通流元胞自动机研究(matlab代码实现)

news/2024/5/4 8:36:29/文章来源:https://blog.csdn.net/weixin_46039719/article/details/128192611

 👨‍🎓个人主页:研学社的博客 

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🌈3 Matlab代码实现

🎉4 参考文献


💥1 概述

参考文献:

在Nagel-Schrekenberg(NS)元胞自动机交通流模型的基础上,提出了一种高速公路三车道元胞自动机交通流模型.该模型中所有的车辆均遵循相同的演化规则,并允许车辆以一定概率换道.根据计算机数值模拟,研究了车辆减速概率、换道概率对车流量、车道利用率影响关系。

综上所述,元胞自动机是一个动态生成过程
高速公路可以看成一个网格状视图,车辆上格子颜色产生变动时,就有车辆消失或生成在边界(该元胞已经死亡或者生存).我们需要在车辆不断更新的状态实时显示在图形界面上,模型转换的思想就浅显易懂了,设置两个车流,一个为正在更新的车流密度一个为希望此时高速公路能达到的车流密度,其实我们只需要设置两种车流的密度,因为在更新句柄的过程中,车流的相对密度是相对不变的。
 

📚2 运行结果

部分代码:

function [plaza,v,vmax]=new_cars(plaza,v,probc,probv,VTypes);
    [L,W]=size(plaza);
%     plaza(2,3)=1;v(2,3)=1;vmax(2,3)=2;
%     plaza(3,3)=1;v(3,3)=1;vmax(3,3)=1; 
%     plaza(4,3)=1;v(4,3)=1;vmax(4,3)=1;
%     plaza(5,3)=1;v(5,3)=1;vmax(5,3)=2;
    vmax=zeros(L,W);
    for lanes=2:W-1;
        for i=1:L;
            if(rand<=probc)%在该位置随机产生一个车子
                tmp=rand;
                plaza(i,lanes)=1;
                for k=1:length(probv)%随机生成一个车子应该有的最大车速
                    if(tmp<=probv(k))
                        vmax(i,lanes)=VTypes(k);%判断属于哪个挡的车速并赋值
                        v(i,lanes)=ceil(rand*vmax(i,lanes));%对当前位置随机赋予一个初速度
                        break;
                    end
                end
            end
        end
    end
    %处理未达到密度要求的车辆需求
    needn=ceil((W-2)*L*probc);
    number=size(find(vmax~=0),1);
    if(number<needn)%如果密度小于预期
        while(number~=needn)
            i=ceil(rand*L);
            lanes=floor(rand*(W-2))+2;
            if(plaza(i,lanes)==0)
                plaza(i,lanes)=1;
                for k=1:length(probv)%随机生成一个车子应该有的最大车速
                   if(tmp<=probv(k))
                       vmax(i,lanes)=VTypes(k);%判断属于哪个挡的车速并赋值
                       v(i,lanes)=ceil(rand*vmax(i,lanes));%对当前位置随机赋予一个初速度
                       break;
                   end
                end
                number=number+1;
            end
        end
    end
    if(number>needn)%如果密度大于预期
        temp=find(plaza==1);
        for k=1:number-needn;
            i=temp(k);
            plaza(i)=0;
            vmax(i)=0;
            v(i)=0;
        end
    end
end

🌈3 Matlab代码实现

🎉4 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]吴大艳,谭惠丽,孔令江,刘慕仁.三车道元胞自动机交通流模型研究[J].系统工程学报,2005(04):393-397. 

[2]A Two-Lane Cellular Automaton Traffic Flow Model with the Keep-Right Rule edited by Milky Zhang,Image Information Institute in Sichuan Universiyt 2014/2/14

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_231275.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

中国电信移动物联网发展成果与创新实践 ,干货满满

近日&#xff0c;首届移动物联网大会&#xff08;2022&#xff09;&#xff08;以下简称“大会”&#xff09;在江苏省无锡市举办。本次大会由工信部指导&#xff0c;中国信息通信研究院&#xff08;以下简称“中国信通院”&#xff09;、中国通信学会、无锡市人民政府、人民邮…

大数据学习:进程管理

文章目录一、进程ID&#xff08;PID&#xff09;二、查看进程1、进程查看命令-ps&#xff08;1&#xff09;命令作用&#xff08;2&#xff09;参数说明&#xff08;3&#xff09;操作案例2、Linux进程状态3、观察进程变化命令 -top&#xff08;1&#xff09;参数选项&#xff…

超声功率放大器在MEMS超声测试中的应用

MEMS&#xff08;微机电系统&#xff09;技术的不断发展&#xff0c;目前已经广泛应用在生物、航空、医学、航天等多领域。MEMS传感器即微机电系统&#xff08;Micro-electroMechanicalSystems&#xff09;&#xff0c;是指精密机械系统和微电子电路技术结合发展出来的一项工程…

【正点原子FPGA连载】第二十八章 以太网ARP测试实验 摘自【正点原子】DFZU2EG/4EV MPSoC 之FPGA开发指南V1.0

1&#xff09;实验平台&#xff1a;正点原子MPSoC开发板 2&#xff09;平台购买地址&#xff1a;https://detail.tmall.com/item.htm?id692450874670 3&#xff09;全套实验源码手册视频下载地址&#xff1a; http://www.openedv.com/thread-340252-1-1.html 第二十八章 以太…

【C++11多线程】线程同步之线程互斥:mutex、lock_guard

文章目录1.mutex2.锁双重判断3.lock_guard4.unique_lockunique_lock的构造函数1.mutex 头文件 #include <mutex> mutex 是一个类&#xff0c;其源码如下图所示。 互斥锁其实就是一个类对象&#xff0c;多个线程尝试用成员函数 lock() 来加锁&#xff0c;只有一个线程能…

自定义HandlerMethodArgumentResolver如何注册到springmvc框架里的

目录 1.DEBUG 注册代码 1.1 WebMvcConfigurerComposite 1.2 DelegatingWebMvcConfiguration 1.3 AutowiredAnnotationBeanPostProcessor 2.DEBUG调用代码 2.1 this.argumentResolvers 日常工作开发中&#xff0c;总有一些参数&#xff0c;在未传参数时&#xff0c;需要自定…

Web3中文|马斯克也疯狂?网红AI “ChatGPT”有多火?

一个名为“ChatGPT”的网红AI竟写出了毁灭人类的计划书。 计划书的步骤详细到入侵各国计算机系统、控制武器、破坏通讯、交通系统等等。和电影里的情节一模一样&#xff0c;甚至ChatGPT还给出了相应的Python代码。 诱导ChatGPT写下该计划的是一位名为扎克德纳姆&#xff08;Z…

计算机网络-网络层:IP协议

目录 一、IP协议格式 二、IP地址管理 1.动态地址分配&组建私网 1.1 动态地址分配DHCP 1.2 NAT技术组建私网 2. 早期网络划分方式 3. 当前网络划分方式CIDR方案 4. 特殊IP地址 5. 公网与私网&#xff08;外网与内网&#xff09; 6. 路由选择 网络层&#xff1a;负…

【win11内存占用高优化】未运行程序,系统内存占用50以上

这里写自定义目录标题前言打开控制面板找到电源键功能找到快速启动选项&#xff0c;取消勾选&#xff0c;确定win X以管理员身份打开powershell输入如下命令&#xff0c;回车关闭终端完成前言 windows11在未运行任何其他程序的情况下&#xff0c;内存占用超50%&#xff0c;可…

深入浅出java nio

Buffer 缓冲 为什么需要缓冲&#xff1f; 思考&#xff1a;没有buffer之前的读写。 子类 常见类型的缓冲 ByteBuffer public abstract class ByteBufferextends Bufferimplements Comparable<ByteBuffer> {}ByteBuffer是抽象类无法直接实例化&#xff0c;可以通过all…

研究 | CT图像迭代重建算法研究进展

上次讲到我实现了一下代数迭代重建&#xff08;ART&#xff09;&#xff0c;到周六开会的时候才大概了解了我的研究方向应该是统计迭代重建&#xff0c;一下子就把我给搞懵了。按照书上的说法&#xff0c;统计迭代法是在发射型CT&#xff08;SPECT和PET&#xff09;中应用广泛&…

[附源码]计算机毕业设计勤工俭学管理小程序Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

Docker学习4-常用命令之重要的容器命令

本文是Docker学习系列教程中的第四篇。本文是Docker常用命令中的重要命令。为什么说重要呢&#xff1f;因为这些命令&#xff0c;在以后开发过程中&#xff0c;会经常使用到。比如&#xff1a;怎么查看容器中运行的日志&#xff1f;怎么查看容器运行的进程&#xff1f;怎么导出…

【安全测试】渗透测试神器BurpSuite环境搭建

工欲善其事&#xff0c;必先利其器&#xff0c;要想更好的进行安全测试&#xff0c;就需要有一个趁手的工具&#xff0c;BurpSuite就是一个不错的选择&#xff0c;是广大安全测试工程师的必备工具&#xff0c;今天就带着大家把这个工具给装上&#xff0c;开启大家的安全测试之旅…

引擎入门 | Unity UI简介–第2部分(5)

本期我们继续为大家进行Unity UI简介&#xff08;第二部分&#xff09;的后续教程 本篇内容 9.设置动画对话框 文章末尾可免费获取教程源代码 本篇本篇Unity UI简介&#xff08;第二部分&#xff09;篇幅较长&#xff0c;分为八篇&#xff0c;本篇为第五篇。 9.设置动画对…

【信息检索与数据挖掘期末复习】(五)Language Model

什么是语言模型&#xff1f; 一个传统的语言生成模型可以用于识别或生成字符串 我们可以将有穷自动机看作是一种确定性的语言模型 基本模型&#xff1a;每一个文档都是通过一个像这样的自动机生成的&#xff0c;只不过这种自动机是有概率的 一种最简单的语言模型等价于一个…

纪念DedeCMS创始人IT柏拉图先生

我是卢松松&#xff0c;点点上面的头像&#xff0c;欢迎关注我哦&#xff01; IT柏拉图开发了DedeCMS&#xff0c;造福了千万站长&#xff0c;但却没有因为这套系统过上体面的生活。 &#xff08;图片取自IT柏拉图的新浪微博&#xff09; 1979年你出生了&#xff0c;比我大…

终于有人把Java面试高分Guide总结得如此系统,堪称傻瓜式笔记总结

纵观今年的技术招聘市场&#xff0c; Java依旧是当仁不让的霸主 &#xff01;即便遭受 Go等新兴语言不断冲击&#xff0c;依旧岿然不动。究其原因&#xff1a; Java有着极其成熟的生态&#xff0c;这个不用我多说&#xff1b;Java在 运维、可观测性、可监 控性方面都有着非常优…

Paper reading:Fine-Grained Head Pose Estimation Without Keypoints (CVPR2018)

Paper reading&#xff1a;Fine-Grained Head Pose Estimation Without Keypoints &#xff08;CVPR2018&#xff09; 一、 背景 为什么要读这篇论文&#xff0c;因为LZ之前要做头部姿态估计&#xff0c;看到一些传统的方法&#xff0c;都是先进行人脸检测&#xff0c;然后再…

Redis原理 - 对象的数据结构(SDS、Inset、Dict、ZipList、QuickList、SkipList、RedisObject)

Redis数据结构 1. SDS Redis 是用 C 语言写的&#xff0c;但是对于 Redis 的字符串&#xff0c;却不是 C 语言中的字符串&#xff08;即以空字符’\0’结尾的字符数组&#xff09;&#xff0c;它是自己构建了一种名为 简单动态字符串&#xff08;simple dynamic string,SDS&am…