资源简介
该程序利用迪杰斯特拉算法经行求解,使用该代码前最好先阅读Readme.doc
代码片段和文件信息
%该程序用于读取原始数据
%读取公汽线路的原始数据
%Pant_no中保存了
%线路编号;
%线路的票价方式(1表示单一票价,2表示分段计价);
%线路的方式(3表示上行,4表示下行,5表示环形,6表示上行和下行一样的)
%Path_num中保存了每条线路两个线路的站点个数
%Path_states中保存了每条线路的站点号和顺序
data_gj = xlsread(‘E:\代码\data_gongjiao.xls‘‘Sheet2‘‘A1:CI2080‘);
%筛选数据
[xy] = size(data_gj);
Path_no = zeros(x/43);
%求线路信息
%上行3,下行4,环形5,上下一样的6,单一票价1,分段计价2
for i = 1:x/4
Path_no(i1) = data_gj((i-1)*4+11);%保存线路编号
Path_no(i2) = data_gj((i-1)*4+21);%保存计费方式
if data_gj((i-1)*4+31) > 5
Path_no(i3) = 6;%上行和下行一样的情况,用6表示
else
Path_no(i3) = data_gj((i-1)*4+31);%保存行驶方式
end
end
%求每条线路的站点顺序
Path_states = zeros(2*x/4y);%保存对应线路所经过的站点
for i = 1:x/4
if data_gj((i-1)*4+31) > 5%如果没有标志,表示是上行和下行相同的
Path_states((i-1)*2+1:) = data_gj((i-1)*4+3:);
Path_states((i-1)*2+2:) = data_gj((i-1)*4+3:);%顺序倒置
count = 0;
for k = 1:y
if Path_states((i-1)*2+2k) <= 10000
count = count + 1;
end
end
if mod(count2) == 0
for j = 1:count/2
temp = Path_states((i-1)*2+2j);
Path_states((i-1)*2+2j) = Path_states((i-1)*2+2count - j);
Path_states((i-1)*2+2count - j) = temp;
end
else
for j = 1:(count-1)/2 %*************************(count/2)-1
temp = Path_states((i-1)*2+2j);
Path_states((i-1)*2+2j) = Path_states((i-1)*2+2count-j+1);
Path_states((i-1)*2+2count-j+1) = temp;
end
end
end
if data_gj((i-1)*4+31) == 3%等于3表示上行的
Path_states((i-1)*2+11:end-1) = data_gj((i-1)*4+32:end);
Path_states((i-1)*2+21:end-1) = data_gj((i-1)*4+42:end);
Path_states((i-1)*2+1end) = NaN;
Path_states((i-1)*2+2end) = NaN;
end
if data_gj((i-1)*4+31) == 5%表示环形的
Path_states((i-1)*2+11:end-1) = data_gj((i-1)*4+32:end);
Path_states((i-1)*2+21:end-1) = data_gj((i-1)*4+42:end);
Path_states((i-1)*2+1end) = NaN;
Path_states((i-1)*2+2end) = NaN;
end
end
%求每条线路上的站点数
Path_num = zeros(2*x/41);%保存每条线路的站点数
for i = 1:x/4
count1 = 0;
count2 = 0;
for k = 1:y
if Path_states((i-1)*2+1k) <= 10000
count1 = count1 + 1;
end
if Path_states((i-1)*2+2k) <= 10000
count2 = count2 + 1;
end
end
Path_num((i-1)*2+1) = count1;
Path_num((i-1)*2+2) = count2;
end
%读取地铁线路的原始数据
%T_num保存每条地铁线路的站点数和地铁编号
%T_states保存每条地铁线路的站点
%D1保存T1地铁站和公汽站的关系
%D2保存T2地铁站和公汽站的关系
%D1_num保存T1每个地铁站对应的公汽站数
%D2_num保存T2每个地铁站对应的公汽站数
D1 = xlsread(‘E:\代码\data_gongjiao.xls‘‘Sheet3‘‘A1:F23‘);
D2 = xlsread(‘E:\代码\data_gongjiao.xls‘‘Sheet3‘‘A25:F42‘);
%对地铁数据进行处理
T_states(1:) = D1(:1)‘;%第一列为地铁1号线路
T1 = T_states(1:);
if mod(length(T1)2) == 0
for i = 1:length(T1)/2
temp = T1(i);
T1(i) = T1(l
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4610 2011-08-22 05:23 25组程序包\data_gongjiao.m
文件 257024 2011-08-21 10:18 25组程序包\data_gongjiao.xls
文件 9154161 2011-08-21 23:15 25组程序包\data_question_1.mat
文件 9580921 2011-08-21 22:17 25组程序包\data_question_2.mat
文件 731 2011-08-22 00:27 25组程序包\decide.m
文件 3488 2011-08-21 08:26 25组程序包\Dijkstra.m
文件 741 2011-08-21 08:26 25组程序包\Floyd.m
文件 296 2011-08-21 23:40 25组程序包\getOrder.m
文件 408 2011-08-21 20:32 25组程序包\getResult.m
文件 2458 2011-08-21 08:26 25组程序包\Min_data.m
文件 2852 2011-08-21 22:05 25组程序包\model1_quanzhong.m
文件 10078 2011-08-22 05:36 25组程序包\model2_quanzhong.m
文件 921 2011-08-21 23:26 25组程序包\model_solve.m
文件 38912 2011-08-22 05:23 25组程序包\Readme.doc
文件 2713 2011-08-21 08:26 25组程序包\ShortestPath_Djk.m
文件 658 2011-08-22 00:25 25组程序包\xuhao.m
目录 0 2011-08-22 05:23 25组程序包
----------- --------- ---------- ----- ----
19060972 17
- 上一篇:mac osx 飞秋
- 下一篇:超炫火柴人动画PPT
相关资源
- 十四届华为杯优秀论文.rar
- 正确写作美国大学生数学建模技术论
- 2015美国大学生数学建模特等奖论文集
- 2018年美国大学生数学建模竞赛O奖论文
- 数学建模算法模型汇总
- F题最重磅资料:近15年全球海平面异
- 正确写作美国大学生数学建模竞赛论
- 2012年数模美赛A题参考资料,程序,结
- 2017研究生数学建模竞赛优秀论文F组
- 2017研究生数学建模竞赛优秀论文D组
- 2017研究生数学建模优秀论文A组
- 数学建模 姜启源第三版
- 2019深圳杯数学建模
- 2017年数学建模国赛优秀论文
- 北邮数学选修课《数学建模与模拟 孙
- 《数学建模算法与应用习题解答》司
- 数学建模算法与程序司守奎
- 历年全国研究生数学建模竞赛赛题合
- 高教杯数学建模优秀论文2013年到201
- 2018电子科技大学数学建模校内赛B题
- 2019年中国研究生数学建模竞赛C题优秀
- 2008-2010年研究生数学建模大赛题目与
- 大学生数学建模竞赛指南_978712125655
- 2015年研究生数学建模竞赛试题.rar
- 2019数学建模国赛A题参考思路2.pdf
- 2019数学建模国赛A题参考思路1.pdf
- MCM/ICM美赛数学建模o奖优秀论文
- 2017和2018年美国大学生数学建模竞赛
- 美国大学生数学建模竞赛题解析与研
- 数学建模算法与应用第二版含程序.
评论
共有 条评论