%% Parameters
y_neutral=25; p_y=23.3; a=2; T=0.1; y_min=7.02; v_max=33.6; r=v_max/p_y; p=0.65; k=0.04;
u(1,:)=zeros(1,101); %加反馈
%%
v_sta=20; y_sta=v_sta/(v_max/p_y)-p_y/2+y_neutral;
x=zeros(2100,102); y=x; v=x; x_re=x; %51辆车,1100个T(110s),程序中i车实际上是编号为51-i的车
v(:,102)=20;
v(100:139,102)=0; % 头车在100-103s停
v(300:339,102)=0; % 头车在120-123s停
v(500:539,102)=0; % 头车在140-143s停
v(700:739,102)=0; % 头车在160-163s停
v(1,:)=20; %初始时刻速度都为20m/s
x(1,:)=2*y_sta:y_sta:103*y_sta; %初始时刻位置,末车设为2*y_sta,即以末车后2*y_sta的点为绝对坐标零点
y(1,1:101)=y_sta*ones(1,101); y(:,102)=0; %初始时刻车间距为稳态值y_sta
x_re(1,:)=x(1,102)*ones(1,102)-x(1,:); %与头车的距离
for t=2:2100
x(t,:)=v(t-1,:)*T+x(t-1,:); %t时刻每辆车的绝对位移
x_re(t,:)=x(t,102)*ones(1,102)-x(t,:); %t时刻每辆车与头车的距离
for i=1:101
y(t,i)=x(t,i+1)-x(t,i);
end
vop=Vop_GE(y(t,:),y_neutral,p_y,v_max,p);
v(t,1)=a*(vop(1,1)-v(t-1,1))*T+v(t-1,1);
v(t,2:101)=a*(vop(2:101)-v(t-1,2:101))*T+v(t-1,2:101)+u(t-1,2:101);
for i = 1:100
if v(t,i+1)-v(t,i)<0
H(1,i)=1;
else
H(1,i)=0;
end
end
u(t,2:101)=0.85*(v(t,3:102)-v(t,2:101))-k.*H(1,1:100).*(v(t,2:101)-v(t,1:100)); %反馈
end
figure(1)
for i=2:101
plot(x_re(:,i),[90.1:0.1:300])
hold on
end
set(gca,'XDir','reverse','xtick',[0 2000],'ylim',[90 300],'ytick',[100 200 300])
xlabel('x_0(n)-x_i(n) (m)'); ylabel('nT (s)');
figure(2)
plot([90.1:0.1:300],(v(:,101))','--',[90.1:0.1:300],(v(:,1))','r-')
set(gca,'ylim',[-10 40],'ytick',[-10 0 20 40],'xlim',[90 300],'xtick',[100 200 300])
xlabel('nT (s)'); ylabel('v_i(n) (m/s)');
legend('v_1(n)','v_{100}(n)')
legend('boxoff');
aCM_GE_100_2011modi.zip_matlab仿真车辆_交通 建模_仿真车辆_车辆跟_车辆跟驰
版权申诉
5星 · 超过95%的资源 189 浏览量
2022-07-14
14:48:15
上传
评论 2
收藏 1KB ZIP 举报
钱亚锋
- 粉丝: 88
- 资源: 1万+