MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   [求助]要编写个红绿灯控制,帮忙看看为什么错误? (https://www.labfans.com/bbs/showthread.php?t=3472)

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只能跳出一个循环
如果想跳出多个可这样设计代码
[code]

bool=0;
while ()
……
while ()
if ()
bool=1;
break;
end
……
end
if (bool==1)
bool=0;
break;
end
……
end
[/code]


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


所有时间均为北京时间。现在的时间是 08:38

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.