I have been trying to do this for two days and have a cluster f of variables which in the end doesn't work. I also need a separate variable to count up all the time passed??
this is what i have it just keeps going up and doesn't reset at 60 seconds
clc clear n=7200; rlight=35; glight=60-rlight; x=zeros(n,1); greencars= zeros(n,1); inqueue=zeros(n,1); for i=1:n; while x<=floor(7140) x=(.5+4.5*rand)+x; if x<glight greencars(i,1)=greencars(i,1)+1; elseif x>=glight & x<=60 inqueue(i,1)=inqueue(i,1)+1; end end end gcars=sum(greencars) inqueue=sum(inqueue) wait=inqueue; line=wait-1; sec_cross=3.2+line*1.4 go=glight-sec_cross max(x)
No products are associated with this question.
Perhaps this helps:
T = 0.5 + rand(1,1e6) * 4.0; % Times accumT = cumsum(t); % Accumulated times phaseT = rem(accumT, 60); % Green phases phases = find([true, diff(phaseT <= 0)); % Indices of green phases
The duration of the red phase does not matter, as far as I can see. It can be added at the phases to the timings without touching the rest of the calculations.