【数学建模】matlab模拟重庆三号线地铁运行

2023-11-26 18:10

本文主要是介绍【数学建模】matlab模拟重庆三号线地铁运行,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1 简介

主要为解决列车运行状态自动监视提供一种可行的思路和方法,通过借助Matlab等已经较为成熟的技术工具,使得软件具备处理大规模数据并显示给调度人员的能力。在研究过程中,主要集中在数据处理和视图显示两个方面,数据是该仿真的核心模块,通过对原始运行状态数据的各种处理,保证该仿真具备实际运用的基本功能,其中创新之处即为通过调用Matlab接口函数,对数据进行矩阵式处理,借助Matlab处理大规模矩阵数据的能力,增强仿真软件的实用性和可靠性。在视图处理方面,主要以列车调度人员为核心进行设计,通过多种方法,把仿真软件对各种数据的处理结果显示在终端,供调度人员分析判断使用。论文最后分析了本设计中存在的不足之处,还需要提高代码的执行效率,并增加完善软件的功能,将会是今后工作中重点研究的方向。

2 部分代码

clc,clear,close all
warning off
feature jit offtic
%重庆轨道三号线全长55.5km,共设39个站点,5个折返站,2个车辆段%折返站:鱼洞、九公里、四公里、龙头寺、江北机场
%车辆段:童家院子车辆段(接轨于龙头寺车站),道角车辆段(接轨于鱼胡路) 
%运行方式:双线双向,右侧运行,通过能力24/h
%下行方向:鱼洞-江北机场 上行方向:江北机场-鱼洞
%时速:最高运行时速75km/h,最低不低于30km/h
%编组:近期6辆编组 962人/列,远期8辆编组 1292人/列
%开行间隔:正向最小行车间隔150s,(鱼洞站实际折返间隔不应大于150s)%设置各站最小 停站时间,取5的整数倍
%换乘站和折返站停车时间不小于30s
global t_zhan;
t_zhan=0.75;
%设置开行间隔 高低峰 傍晚
global t_low;
global t_peak;
global t_night;
t_low=4;
t_peak=3;
t_night=5;global station_P;
global station_Q;
global station_M;
global station_N;
global station_O;
station_P=39;
station_Q=32;
station_M=26;
station_N=12;
station_O=1;
%设置车库位置
global cheku_1;
global cheku_2;
cheku_1=35;%为方便展示效果,车库位置设在容易观察的位置
cheku_2=19;%各时段时刻
t_1_innitial=6.30;
t_2_innitial=8.00;
t_3_innitial=10.00;
t_4_innitial=16.00;
t_5_innitial=18.00;
t_6_innitial=22.30;
%转换为分钟
global t_1_Ditu;%底图时间为原始时间,不需要提前
global t_2_Ditu;
global t_3_Ditu;
global t_4_Ditu;
global t_5_Ditu;
global t_6_Ditu;
t_1_Ditu=fix(t_1_innitial)*60+t_1_innitial-fix(t_1_innitial);
t_2_Ditu=fix(t_2_innitial)*60+t_2_innitial-fix(t_2_innitial);
t_3_Ditu=fix(t_3_innitial)*60+t_3_innitial-fix(t_3_innitial);
t_4_Ditu=fix(t_4_innitial)*60+t_4_innitial-fix(t_4_innitial);
t_5_Ditu=fix(t_5_innitial)*60+t_5_innitial-fix(t_5_innitial);
t_6_Ditu=fix(t_6_innitial)*60+t_6_innitial-fix(t_6_innitial);TQ=20;%向前提前TQ平移时间
global t_1;%列车运行时分区段,需要提前,以保证高峰期前提前出库
global t_2;
global t_3;
global t_4;
global t_5;
global t_6;
t_1=t_1_Ditu-TQ;
t_2=t_2_Ditu-TQ;
t_3=t_3_Ditu-TQ;
t_4=t_4_Ditu-TQ;
t_5=t_5_Ditu-TQ;
t_6=t_6_Ditu-TQ;
%P\Q\M\N\O站之间的运行时分(包含中间站停站时间)
global t_MN;
global t_NM;
global t_QM;
global t_MQ;
global t_PQ;
global t_QP;
global t_ON;
global t_NO;
t_MN=32.5;
t_NM=33.17;
t_QM=13.75;
t_MQ=13.83;
t_PQ=31.83;
t_QP=31.33;
t_ON=30.83;
t_NO=31.17;%设置各站最小折返时间
T_ZHEFAN_P=5;
T_ZHEFAN_Q=5;
T_ZHEFAN_M=5;
T_ZHEFAN_N=5;
T_ZHEFAN_O=3;%冲突约束间隔
global I_FD;
global I_FF;
global I_FD_zhanqian;
I_FD=0.2;
I_FF=0.2;
I_FD_zhanqian=1;
%检查站冲突约束间隔
if (t_peak-t_zhan)<I_FDfprintf('高峰时段发车间隔与停站时间不满足基本发到约束')%error('Cannot calculate with given values')keyboard;%return 继续
elsefprintf('满足基本发到约束');
end%action
GONGXIAN_DFTIME;
JIAOLU_HUAFEN;translation_zhanqian;%站前调整模型一 初始布点平移% 冲突约束调整
% tzcs_Q=Yueshu(QD_ROAD2,QF_ROAD1,I_FD);
% tzcs_M1=Yueshu(MD_ROAD1,MF_ROAD3,I_FD);
% tzcs_M2=Yueshu(MD_ROAD2,MF_ROAD3,I_FD);
% tzcs_N1=Yueshu(NF_ROAD1,ND_ROAD3,I_FD);
% tzcs_N2=Yueshu(NF_ROAD2,ND_ROAD3,I_FD);
% 
%save all_dd-cf_time;
%load('all_dd-cf_time.mat')
Ditu_picture;%铺画底图
CHEDI_JIAOLU_GOUHUA;%车底交路勾画
yunxingxian1234_PICTURE;%铺画运行线
toc%计时

3 仿真结果

img

4 参考文献

[1]闫志鹏. 地铁列车仿真系统研究[D]. 北京交通大学.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,有科研问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

这篇关于【数学建模】matlab模拟重庆三号线地铁运行的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/426119

相关文章

Java -jar命令如何运行外部依赖JAR包

《Java-jar命令如何运行外部依赖JAR包》在Java应用部署中,java-jar命令是启动可执行JAR包的标准方式,但当应用需要依赖外部JAR文件时,直接使用java-jar会面临类加载困... 目录引言:外部依赖JAR的必要性一、问题本质:类加载机制的限制1. Java -jar的默认行为2. 类加

java -jar命令运行 jar包时运行外部依赖jar包的场景分析

《java-jar命令运行jar包时运行外部依赖jar包的场景分析》:本文主要介绍java-jar命令运行jar包时运行外部依赖jar包的场景分析,本文给大家介绍的非常详细,对大家的学习或工作... 目录Java -jar命令运行 jar包时如何运行外部依赖jar包场景:解决:方法一、启动参数添加: -Xb

eclipse如何运行springboot项目

《eclipse如何运行springboot项目》:本文主要介绍eclipse如何运行springboot项目问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目js录当在eclipse启动spring boot项目时出现问题解决办法1.通过cmd命令行2.在ecl

Python使用pynput模拟实现键盘自动输入工具

《Python使用pynput模拟实现键盘自动输入工具》在日常办公和软件开发中,我们经常需要处理大量重复的文本输入工作,所以本文就来和大家介绍一款使用Python的PyQt5库结合pynput键盘控制... 目录概述:当自动化遇上可视化功能全景图核心功能矩阵技术栈深度效果展示使用教程四步操作指南核心代码解析

Python模拟串口通信的示例详解

《Python模拟串口通信的示例详解》pySerial是Python中用于操作串口的第三方模块,它支持Windows、Linux、OSX、BSD等多个平台,下面我们就来看看Python如何使用pySe... 目录1.win 下载虚www.chinasem.cn拟串口2、确定串口号3、配置串口4、串口通信示例5

使用nohup和--remove-source-files在后台运行rsync并记录日志方式

《使用nohup和--remove-source-files在后台运行rsync并记录日志方式》:本文主要介绍使用nohup和--remove-source-files在后台运行rsync并记录日... 目录一、什么是 --remove-source-files?二、示例命令三、命令详解1. nohup2.

Spring Boot项目打包和运行的操作方法

《SpringBoot项目打包和运行的操作方法》SpringBoot应用内嵌了Web服务器,所以基于SpringBoot开发的web应用也可以独立运行,无须部署到其他Web服务器中,下面以打包dem... 目录一、打包为JAR包并运行1.打包为可执行的 JAR 包2.运行 JAR 包二、打包为WAR包并运行

Java NoClassDefFoundError运行时错误分析解决

《JavaNoClassDefFoundError运行时错误分析解决》在Java开发中,NoClassDefFoundError是一种常见的运行时错误,它通常表明Java虚拟机在尝试加载一个类时未能... 目录前言一、问题分析二、报错原因三、解决思路检查类路径配置检查依赖库检查类文件调试类加载器问题四、常见

Python如何精准判断某个进程是否在运行

《Python如何精准判断某个进程是否在运行》这篇文章主要为大家详细介绍了Python如何精准判断某个进程是否在运行,本文为大家整理了3种方法并进行了对比,有需要的小伙伴可以跟随小编一起学习一下... 目录一、为什么需要判断进程是否存在二、方法1:用psutil库(推荐)三、方法2:用os.system调用

Python运行中频繁出现Restart提示的解决办法

《Python运行中频繁出现Restart提示的解决办法》在编程的世界里,遇到各种奇怪的问题是家常便饭,但是,当你的Python程序在运行过程中频繁出现“Restart”提示时,这可能不仅仅是令人头疼... 目录问题描述代码示例无限循环递归调用内存泄漏解决方案1. 检查代码逻辑无限循环递归调用内存泄漏2.