【数学建模】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终止正在运行的线程的三种方法

《Java终止正在运行的线程的三种方法》停止一个线程意味着在任务处理完任务之前停掉正在做的操作,也就是放弃当前的操作,停止一个线程可以用Thread.stop()方法,但最好不要用它,本文给大家介绍了... 目录前言1. 停止不了的线程2. 判断线程是否停止状态3. 能停止的线程–异常法4. 在沉睡中停止5

在VSCode中本地运行DeepSeek的流程步骤

《在VSCode中本地运行DeepSeek的流程步骤》本文详细介绍了如何在本地VSCode中安装和配置Ollama和CodeGPT,以使用DeepSeek进行AI编码辅助,无需依赖云服务,需要的朋友可... 目录步骤 1:在 VSCode 中安装 Ollama 和 CodeGPT安装Ollama下载Olla

CSS模拟 html 的 title 属性(鼠标悬浮显示提示文字效果)

《CSS模拟html的title属性(鼠标悬浮显示提示文字效果)》:本文主要介绍了如何使用CSS模拟HTML的title属性,通过鼠标悬浮显示提示文字效果,通过设置`.tipBox`和`.tipBox.tipContent`的样式,实现了提示内容的隐藏和显示,详细内容请阅读本文,希望能对你有所帮助... 效

解读docker运行时-itd参数是什么意思

《解读docker运行时-itd参数是什么意思》在Docker中,-itd参数组合用于在后台运行一个交互式容器,同时保持标准输入和分配伪终端,这种方式适合需要在后台运行容器并保持交互能力的场景... 目录docker运行时-itd参数是什么意思1. -i(或 --interactive)2. -t(或 --

pycharm远程连接服务器运行pytorch的过程详解

《pycharm远程连接服务器运行pytorch的过程详解》:本文主要介绍在Linux环境下使用Anaconda管理不同版本的Python环境,并通过PyCharm远程连接服务器来运行PyTorc... 目录linux部署pytorch背景介绍Anaconda安装Linux安装pytorch虚拟环境安装cu

通过prometheus监控Tomcat运行状态的操作流程

《通过prometheus监控Tomcat运行状态的操作流程》文章介绍了如何安装和配置Tomcat,并使用Prometheus和TomcatExporter来监控Tomcat的运行状态,文章详细讲解了... 目录Tomcat安装配置以及prometheus监控Tomcat一. 安装并配置tomcat1、安装

mysqld_multi在Linux服务器上运行多个MySQL实例

《mysqld_multi在Linux服务器上运行多个MySQL实例》在Linux系统上使用mysqld_multi来启动和管理多个MySQL实例是一种常见的做法,这种方式允许你在同一台机器上运行多个... 目录1. 安装mysql2. 配置文件示例配置文件3. 创建数据目录4. 启动和管理实例启动所有实例

IDEA运行spring项目时,控制台未出现的解决方案

《IDEA运行spring项目时,控制台未出现的解决方案》文章总结了在使用IDEA运行代码时,控制台未出现的问题和解决方案,问题可能是由于点击图标或重启IDEA后控制台仍未显示,解决方案提供了解决方法... 目录问题分析解决方案总结问题js使用IDEA,点击运行按钮,运行结束,但控制台未出现http://

解决Spring运行时报错:Consider defining a bean of type ‘xxx.xxx.xxx.Xxx‘ in your configuration

《解决Spring运行时报错:Considerdefiningabeanoftype‘xxx.xxx.xxx.Xxx‘inyourconfiguration》该文章主要讲述了在使用S... 目录问题分析解决方案总结问题Description:Parameter 0 of constructor in x

解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题

《解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题》文章详细描述了在使用lombok的@Data注解标注实体类时遇到编译无误但运行时报错的问题,分析... 目录问题分析问题解决方案步骤一步骤二步骤三总结问题使用lombok注解@Data标注实体类,编译时