登录论坛

查看完整版本 : [求助]要编写个红绿灯控制,帮忙看看为什么错误?


onlyoneman
2008-06-05, 18:05
为什么if break跳不出循环?
是不是我犯了什么低级错误?

clear,clc
ts=0 %系统运行时间
tm=200 %程序总时间 设为一天,以秒计算
t1=0 %绿灯时计时时间
x_1a=20 %初始绿灯时间上限
x_1b=0 %绿灯时间变量
s1=0 %绿灯时通过车辆数
i=1 %参数变量
v=0 %通过绿灯时车辆的时刻
j=0
CAR1=poissrnd(9.2213,1,30) %随机产生的车辆时间间隔
while ts<tm %若ts超过程序总时间tm,则跳出循环
while t1<x_1a %绿灯时间之中
while t1<x_1a
v=v+CAR1(i)
i=i+1
while v>=x_1a-8
if v>x_1a
break;
end
j=j+1
v=v+CAR1(i)
i=i+1
end
t1=t1+1
end
ts=ts+1 %系统时间运行
s1=j
end
x_1a=x_1b %绿灯时间等于绿灯变量
ts=ts+1 %系统时间运行
end

onlyoneman
2008-06-05, 18:12
这里是不是都没人来看的?真的需要帮助。。。

天时地利人和
2008-06-17, 22:52
我也不懂,新手学习...

pslpsl
2008-08-20, 20:01
不是很明白你的意思
break是可以跳出循环的
但一个break只能跳出一个循环
如果想跳出多个可这样设计代码


bool=0;
while ()
……
while ()
if ()
bool=1;
break;
end
……
end
if (bool==1)
bool=0;
break;
end
……
end



像这样就一次可以跳出两层循环
多层可类似设计