91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 10KB
    文件類型: .m
    金幣: 1
    下載: 0 次
    發布日期: 2021-05-23
  • 語言: Matlab
  • 標簽:

資源簡介

2016年全國數模競賽B題第二問,基于matlab的元胞自動機實現

資源截圖

代碼片段和文件信息

1、道路運行情況模擬程序
clc;
%clear;
Tmax?=?1000;?%考慮的時間的上限
carnum?=?0;?%carnum?是當前通過的車的總數目
fieldCarNum?=?0;?%fieldCarNum?進入小區的車輛數
%beta?=?8;?%1-alpha?/?10為出現車的概率,體現車流量
fieldCapure?=?800;?%小區內道路的承載量
fieldDistance?=?80;?%小區內道路的邏輯長度
fRpb?=?0.8;?%行人自行車修正系數
R?=?0.5;?%主路進入小區的比例
L1?=?0.005;?%車身長度km
h?=?0.0025;?%標準飽和車頭時距
alpha?=?pi?/?4;?%轉彎角度
mu?=?0.18;?%橫向力系數
v?=?50;?%車輛速度
t_avg?=?L1?/?v?;?%暢通情況下車輛直行通過計算截面的平均耗時
ER?=?(L1?+?alpha?*?R)/(h?*?sqrt(127?*?R?*?mu));
%右轉車轉換系數
fR?=?100/(100?+?R?*?(ER?-?1));
%右轉修正系數
theta?=?0;?%車輛入口延時的影響因子
delay?=?zeros(Tmax?1);?%記錄入口延時
T?=?20;?%路燈周期
Tg?=?5;?%綠燈時間
Car?=?cell(carnum1);?%Car?是所有的車的集合
Car0?=?cell(carnum1);?%Car?是所有的車的集合
car?=?struct(‘road‘0‘distance‘0‘state‘0);?%road?是當前車所在的道路,
distance?表示在這條路上的位置state?表示是否在區域里,1?在里面,0?在外面
t?=?0;?%當前時間
Dt?=?cell(t1);?%每個時刻的平均延誤
Dt0?=?cell(t1);?%每個時刻的平均延誤
Light?=?0;?%?Light?表示當前燈是紅燈?0,還是綠燈?1
roadnum?=?4;?%roadnum?是所有的道路數目
Outroad?=?[];?%?與出口相連的路
Outroad(1)?=?4;
Inroad?=?[23];?%與入口相連的路
FieldRoad?=?[];?%小區內的路
FieldRoad(1)?=?3;
21
Troad?=?zeros(roadnum1);%每條路上的路燈周期
Tgroad?=?zeros(roadnum1);%每條路上綠燈時間
RoadMap?=?zeros(roadnumroadnum);?%路的可達性矩陣
RoadMap0?=?zeros(roadnumroadnum);?%路的可達性矩陣
Roadcapture?=?zeros(roadnum1);?%Roadcapture?路的設計承載量
Roadcarnum?=?zeros(roadnum1);?%Roadcarnum?路當前有的車數量
Roadcarnum0?=?zeros(roadnum1);?%Roadcarnum?路當前有的車數量
Roaddistance?=?zeros(roadnum1);%Roaddistance?路的距離
Roaddt?=?zeros(roadnum1);?%Roaddt?每條路上的平均延遲時間
Roadcapture?=?[1000100010001];
Roadcapture(3)?=?fieldCapure;
Roadcapture?=?Roadcapture‘;
Roaddistance?=?[1001001001];
Roaddistance(3)?=?fieldDistance;
Troad(:)?=?20;
Tgroad(:)?=?5;
RoadMap?=?[0000;1000;1000;0110];
RoadMap0?=?[0000;1000;0000;0100];
myres?=?zeros(5004);
Flag?=?[0100]‘;
mainflow?=?3600?*?(1?-?beta?/?10);?%主路的車流量
for?t?=?1:Tmax
%%%%%%判斷當前是否有車到來?0?沒有,1?有
Dt{t}?=?0;
Dt0{t}?=?0;
ra?=?rand();
if?ra?>=?beta?/?10
ra?=?1;
else
ra?=?0;
end
%%%%%%增加車的數量更新車的情況
if?ra?==?1
carnum?=?carnum+1;
car.road?=?1;
car.distance?=?Roaddistance(1);
22
car.state?=?1;
Car{carnum}?=?car;
Car0{carnum}?=?car;
Roadcarnum(1)?=?Roadcarnum(1)+1;
Roadcarnum0(1)?=?Roadcarnum0(1)+1;
end
%%%%%%判斷當前紅綠燈情況
Light?=?mod(tT);
if?Light?<=?Tg
Light?=?1;
else
Light?=?0;
end
for?cari?=?1:carnum
if(Car{cari}.state?==?0)
continue;
end
%%不考慮小區開放時
if?Light?==?1?%%%綠燈時
[nextroadnextdistancenextstate]?=
nextdir(cariRoadMap0Car0RoaddistanceOutroadRoadcarnum0);?%%%函數
nextdir?返回?cari?這輛車下一次所在的路的在路上的距離
else?%%%%紅燈時
[nextroadnextdistancenextstate]?=
nextdir_red(cariRoadMap0Car0RoaddistanceOutroadRoadcarnum0);
end
Roadcarnum0(Car0{cari}.road)?=?Roadcarnum0(Car0{cari}.road)-1;
Car0{cari}.road?=?nextroad;
Car0{cari}.distance?=?nextdistance;
Car0{cari}.state?=?nextstate;
if?nextstate?==?1
Roadcarnum0(nextroad)?=?Roadcarnum0(nextroad)+1;?%%%%%%當前
這條路上的車的數量
end
%%考慮小區開放時
%?disp(strcat(‘car‘?num2str(cari)));
if?Light?==?1?%%%綠燈時
[nextroad

評論

共有 條評論