matlab 周期性边界,求助:周期性边界条件的经典交通流元胞自动机NaSch程序,MatLab实现...

我自己按照NaSch的元胞更新规则已编写出程序,但程序运行后得不到交通流时空图(启停波等),这个问题已纠缠三周时间了,郁闷,请高手一定帮忙。我贴出代码

for j=n:-1:1

if road(j)~=0

d=searchfrontcar(j,road);%搜索前方首个非空元胞与当前元胞的距离

if v_road(j)<=d-1

v_road(j)=min(v_road(j)+1,vmax);%加速

elseif v_road(j)>=d+1

v_road(j)=max(d,0);%减速

end

%------------------------随机慢化

if rand(1,1)<=p

v_road(j)=max(v_road(j)-1,0);

end

%------------------------车辆位置更新,施加周期性边界条件

new_v=v_road(j);

if j+new_v>n

pos=searchlastcar(road);

if pos>j+new_v-n

road(j+new_v-n)=1;

v_road(j+new_v-n)=new_v;

else

if pos-1>0

road(pos-1)=1;

v_road(pos-1)=new_v;

else

road(n)=1;

v_road(n)=new_v;

end

end

else

road(j+new_v)=1;

v_road(j+new_v)=new_v;

end

road(j)=0;

v_road(j)=0;

%--------------------车辆位置更新

end

说明一下:road数组元素值(1,0)表示某元胞上是否有车,V-road数组对应该元胞上车辆速度。

请高手一定帮助一下,我的编程能力太差,也是最近一个月才学MATLAB,这个问题花了我很多时间,郁闷得要死了,我的QQ2856392383,请一定帮助一下

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值