資源簡介
問題描述:已知站點,線路-站點數據,求指定點之間的:
1、 直達線路
2、 一次換乘線路
3、 兩次換乘線路
本資源是用matlab編程的代碼,從原理上對換乘算法進行了程序化。

代碼片段和文件信息
%%?求二次換乘點
%%?計算起訖點的直達線路上的點
zhida???????????????????????????????????%調用直達函數(查看zhida.m)
ZDD_AB=ZDD;?????????????????????????????%起訖點的直達線路上的點,只是為了第29行用
%%?計算起訖點的一次換乘點
yicihuancheng???????????????????????????%調用一次換乘函數(查看yicihuancheng.m)
YCHCD_AB=HCD_1;?????????????????????????%起訖點的一次換乘點,只是為了第29行用
%%?計算二次換乘點
E2=D_A;?????????????????????????????????%與A直達的點的集合(矩陣的行是線路,列是站點,表示線路是否包含該站點)
[X2Z2]=find(D_A==1);???????????????????%Z2為與A直達的點,X2為Z2所在的線路
if?isempty(Z2)==0
????for?i=1:length(Z2)
????????S2{i}=find(zhan_xian(Z2(i):)==1);
????end
????S2=unique(cell2mat(S2));????????????????%過與A直達的點的線路
????E2(S2:)=xian_zhan(S2:);???????????????%把與A直達的點看作起點,求與該起點直達的點的集合
????E2(ZDXL:)=0;???????????????????????????%去除起訖點的直達線路上的點
????E2(HCX_1:)=0;??????????????????????????%去除起訖點的一次換乘點
????[xian_2_Azhan_2_A]=find(E2==1);????????%找到[與起點直達的點的直達點對應的線路,與起點直達的點的直達點]
????HCD_2ci=intersect(zhan_2_Azhan_B)‘;????%找到二次換乘點
else
????HCD_2ci=[];
end
%%?計算起點到二次換乘點的換乘點及換成線
if?isempty(HCD_2ci)==0
????qidian=A;
????zhongdian=B;
????A=qidian;
????B=HCD_2ci;??????????????????????????%重新定義起點和終點,即將起訖點分段,第1段:起點-二次換乘點;第2段:二次換乘點-終點
????zhida???????????????????????????????%對新的起訖點重新調用直達函數
????yicihuancheng???????????????????????%對新的起訖點重新調用一次換乘函數
????HCD_qianmian=setdiff(setdiff(HCD_1ZDD_AB)YCHCD_AB);
????????????????????????????????????????%HCD_qianmian表示找第1段起訖點的換乘點即原起訖點的第1個換乘點
????HCD_houmian=HCD_2ci;????????????????%HCD_houmian表示原起訖點的第2個換乘點
????for?i=1:length(HCD_qianmian)
????????index(i)=find(HCD_qianmian(i)==HCD_1);
????????????????????????????????????????%index表示對應于HCD_qianmian的換乘方案
????end
????HCX_qianmian=HCX_1(:index);????????%求第1段的換乘線
????%%?計算二次換乘點到終點的直達路線
????A=HCD_2ci;
????B=zhongdian;
????zhida
????HCX_houmian=ZDXL;???????????????????%第二段的換乘線是二次換乘點到終點的直達線路
else
????HCD_qianmian=[];????????????????????%防錯處理,為了矩陣的正確運算
????HCD_houmian=[];
????HCX_qianmian=[];
????HCX_houmian=[];
end
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????2360??2016-10-31?12:12??ercihuancheng.m
?????文件???????2318??2016-10-31?12:12??fuhaoshuoming.m
?????文件????????813??2016-10-31?16:01??huanchengshuju.m
?????文件???????2272??2016-10-31?14:51??huanchengsuanfa.m
?????文件???????1867??2016-10-30?23:21??yicihuancheng.m
?????文件????????346??2016-10-31?17:04??zhida.m
?????文件????????483??2016-10-31?17:35??程序說明.txt
?????文件??????49080??2016-10-31?16:45??換乘案例路網.vsdx
?????文件???????3705??2016-10-31?17:01??換乘路網.png
?????文件?????334975??2016-10-31?16:41??換乘算法.pdf
-----------?---------??----------?-----??----
???????????????398219????????????????????10
- 上一篇:粗糙集matlab程序
- 下一篇:《Matlab時頻分析及其應用》的詳細代碼
評論
共有 條評論