当前位置:首页 > 高速公路交通量优化配置 - 图文
% a1=t-a*10000;
% b=floor(a1/100); % c=a1-b*100;
% time=a*3600+b*60+c;
q1=floor((time-standard)/120);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
vv=vmean(q1+1,x);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
t=len(x)/vv;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%% m=m+t*n(q1+1,x);
n1=n1+len(x)*n(q1+1,x+1);
%%%%%%%%%%%%%%%%%%%%%%%%%%%% vsum(iii,pp)=vv;
timesum(iii,pp)=t;%%%%%%%%%%对应各个时刻到下一路段所需时间 pp=pp+1; x=x+1; end
result(iii,1)=sum(timesum(iii,:)); result1(iii,1)=sum(len)*m/n1; iii=iii+1; m=0;n1=0; end
t=[3.4007:3.18/(length(result)-1):6.5807]; figure(3) plot(t,result'); hold on; plot(t,result1','r*') plot(t,result1','r')
axis([3.4007,6.5807,0,900]); xlabel('起始时刻')
ylabel('从监测器1到监测器5所需时间估计') legend('修正前时间估计','修正后时间估计')
%%%%%%%%%%%%%验证%%%%%%%%%%%%%%%%%%%%%%% vvv=v(:,2:5); [m,n]=size(vvv); cha1=vvv-vsum;
- 29 -
cha=(cha1).^2;
cha=sum(cha);
cha=mean(mean(cha1));
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%动力学模型 %%%%%%%%%%%%%%%%%%%%%%%%%%%%
v=dlmread('v.txt',','); n=dlmread('n.txt',','); v=v'.*1609/3600; n=n';
[p1,p2]=size(v); mi=zeros(p1,p2); vspace=zeros(p1,p2);
vtime=zeros(p1,p2);
%%%%%%%%%%%%%%%%%密度%%%%%%%%%%%%%%%%%%%%%%%%%%
% for i=1:p1
% for j=1:p2
% mi(i,j)=n(i,j)./v(i,j); % end % end
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5
len=[636 417 522 475]; for i=1:p2-1
vspace(:,i)=(v(:,i+1)-v(:,i))./len(1,i); end
for j=2:p1
vtime(j,:)=(v(j,:)-v(j-1,:))/120;
end
%%%%%%%%%%%%%%%%初始条件%%%%%%%%%%%%%%%%%%%%%%% % t=60007 %%起始时刻
% x=3 %%起始监测点
%%%%%%%%%%%时间换算%%%%%%%%%%%%%%%%%%%%%%%%%%% iii=1;
timesum=0; x=1; vsum=0;
for time=13207:120:25087 pp=1; x=1; for ii=x:1:4 standard=13207; % a=floor(t/10000); % a1=t-a*10000;
- 30 -
% b=floor(a1/100);
% c=a1-b*100;
% time=a*3600+b*60+c;
q1=floor((time-standard)/120);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
atime=vtime(q1+1,x+1); aspace=vspace(q1+1,x); vv=v(q1+1,x); atime+vv*aspace; % u=sym('u');
t2=0.1;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
y1=0;
for t1=t2:t2:480
% vv=vv+(atime+vv*aspace)*t2; vv=vv+(vv*aspace)*t2; % if(vv<=0) % % t1 % % vv % % atime % % aspace % vv=0; % break; % end
y1=y1+vv*t2; % [x]=solve(y1) % result=numeric(x) if(y1>len(x)) break; end
end
vsum(iii,pp)=vv; timesum(iii,pp)=t1; pp=pp+1; time=time+t1; x=x+1; end
result(iii,1)=sum(timesum(iii,:)); iii=iii+1;
end
t=[3.4007:3.18/(length(result)-1):6.5807];
%%%%%%%%%%%%%验证%%%%%%%%%%%%%%%%%%%%%;%%
- 31 -
result1=zeros(1,100);
for i=1:100
result1(i)=sum(len)*(timesum(i,:)*n(i,2:5)')/(len*n(i,2:5)'); end
figure(3) plot(t,result') % hold on; % plot(t,result1,'r*') % plot(t,result1,'r')
axis([3.4007,6.5807,0,900]); xlabel('起始时刻')
ylabel('从监测器1到监测器5所需时间估计') % legend('修正前时间估计','修正后时间估计') vvv=v(:,2:5); [m,n]=size(vvv); cha1=vvv-vsum; cha=(cha1).^2; cha=sum(cha);
cha=mean(mean(cha1)); figure(12) for i=1:4
subplot(4,1,i) plot(t,v(:,i+1)'); hold on ;
plot(t,vsum(:,i)','r*'); ylabel('v mile/h'); xlabel('t')
title(['Detector',num2str(i)]) axis([3.4007,6.5807,0,80]) legend('测得速度','估计速度')
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%曲线拟合%%%%%%%%%%%%%clc
v=dlmread('v.txt',','); n=dlmread('n.txt',','); [p1,p2]=size(v); mi=zeros(p1,p2); for i=1:5 for j=1:97
mi(i,j)=n(i,j)./v(i,j); end end
mi=mi.*180;
- 32 -
共分享92篇相关文档