归航930 2022-05-05 20:10 采纳率: 0%
浏览 3
已结题

元胞自动机加到双车道车跑到一半自动消失了,哪个可以解答一下

问题遇到的现象和发生背景

元胞自动机仿真双向双车道交通流,先根据找的代码(单车道)想试着改成双车道,但是运行出来车跑到一半自动消失了

问题相关代码,请勿粘贴截图

%直行进入研究区域
%function []=in_yuanbao(p,long)
%p 车辆驶入的概率
%long 道路长度 m
%n执行的步长 为1000次
p=20;
long=500;
n=1000;
L=zeros(2,long/5+1);
V=zeros(2,long/5+1);
flag1=0;
flag2=0;%flag 用于判断是否有车在等待区即将离开该区域
a=0;
figure();
H=imshow(L,[]);
set(gcf,'position',[241 132 560 420]) ;%241 132 560 420(设定plot输出图片的尺寸)
set(gcf,'doublebuffer','on'); %设定为双缓冲模式
title('元胞自动机交通模拟','color','b');
for i=1:n
flag1=L(1,long/5+1)
flag2=L(2,long/5+1)
if p>=rand(1)*100
L(1,1)=1
end
if p>=rand(1)*100
L(2,1)=1
end
%速度设定
V(1,L(1:2,1:end-2)==1&L(1,2:end-1)==0&L(1,3:end)==0)=2
V(1,L(1:2,1:end-2)==1&L(1,2:end-1)==0&L(1,3:end)==1)=1
V(1,L(1:2,1:end-2)==1&L(1,2:end-1)==1)=0
V(2,L(1:2,1:end-2)==1&L(2,2:end-1)==0&L(2,3:end)==0)=2
V(2,L(1:2,1:end-2)==1&L(2,2:end-1)==0&L(2,3:end)==1)=1
V(2,L(1:2,1:end-2)==1&L(2,2:end-1)==1)=0
if flag1==1
a=a+1;
flag1=0;
L(1,long/5+1)=0;
V(1,long/5)=0;
elseif L(1,long/5)==1;
V(1,long/5)=1;
end
if flag2==1
a=a+1;
flag2=0;
L(2,long/5+1)=0;
V(2,long/5)=0;
elseif L(2,long/5)==1;
V(2,long/5)=1;
end
L([zeros(1,1) V(1,1:end-1)]==1)=1;
L([zeros(1,2) V(1,1:end-2)]==2)=1;
L(V(1,1:end)==2|V(1,1:end)==1)=0;
L([zeros(1,1) V(2,1:end-1)]==1)=1;
L([zeros(1,2) V(2,1:end-2)]==2)=1;
L(V(2,1:end)==2|V(2,1:end)==1)=0;
%L(1,(V(1,1:end)==2)+2)=1;
%L(1,(V(1,1:end)==2)+1)=0;
%L(1,V(1,1:end)==1+1)=1;
V=zeros(2,long/5+1);

set(H,'CData',L);
pause(0.01)

end
%end

运行结果及报错内容

img

我想要达到的结果

让汽车跑道结尾,最好有双向双车道的解决方法

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 5月13日
    • 创建了问题 5月5日

    悬赏问题

    • ¥20 公众号如何实现点击超链接后自动发送文字
    • ¥15 用php隐藏类名和增加类名
    • ¥15 算法设计与分析课程的提问
    • ¥15 用MATLAB汇总拟合图
    • ¥15 智能除草机器人方案设计
    • ¥15 对接wps协作接口实现消息发送
    • ¥15 SQLite 出现“Database is locked” 如何解决?
    • ¥15 已经加了学校的隶属邮箱了,为什么还是进不去github education?😭
    • ¥15 求会做聚类,TCN的朋友有偿线上指导。以下是目前遇到的问题
    • ¥100 无网格伽辽金方法研究裂纹扩展的程序