资源简介

问题描述:已知站点,线路-站点数据,求指定点之间的: 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


评论

共有 条评论

相关资源