您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 列车运行控制实验一实验报告
列车运行控制技术——绘制列车速度限制曲线一、整体思路1.任务分析由浅入深,首先分析习题A,掌握题目要求和基本的分析方法;在完成习题A的基础上加入一个临时限速,即习题B,进一步掌握此类问题的分析方法;尝试完成习题C,深入分析限速的加入对于列车运行的整体影响。2.平台选择由于此项问题是得到速度与位置的对应关系,需要大量的计算,且最终结果需要以图象的形式表现,因此选择MATLAB进行本题的辅助分析,既具有强大的计算能力,又有图象处理能力。3.完成过程先利用速度-位移相关公式,通过手动计算得到列车位置s与速度v之间的关系,再将列车运行过程中的每个位置通过MATLAB进行相应计算,最后画出图象,得到列车限制速度曲线。二、原理分析1.原理概述要求绘制列车限制速度曲线,即分析最高速度与位置之间的关系,并绘制图像。本题的关键点在于列车从前一速度制动降低到限制速度时所需的最短距离。但该距离必须保证安全。2.公式推导列车从开始制动到减速至限制速度经历了空走和制动两个阶段。设列车制动前速度为vmax,制动后速度为vmin。⑴空走阶段:制动力为0,牵引力保持制动前状态,考虑最不利情况,即列车需制动时刻正处于最大牵引力加速阶段,此时加速度为a1=1.7。设空走阶段位移为s1。⑵制动阶段:牵引力为0,制动力最大,此时加速度为a2=1.5。经历空走阶段后,制动阶段的初速度为v=vmax+a1t。设制动阶段位移为s2。由以上分析可以得到,从开始制动到减速至限制速度的总位移,即防护距离为:因此,设列车当前位置为s,列车运行到限速区段的位置为sm,此时可得列车当前位置与速度之间的函数关系为:将已知数据代入以上公式可得到:由此可得到解决本问题的关键函数,将该函数使用在MATLAB中,源代码为:function[v]=limit(sm,s,vmax,vmin)v=-19.2+sqrt(172.8+vmin.^2+3*(sm-s));ifvvmaxv=vmax;endifv=vminv=vmin;endend三、绘制曲线1.编程思路编程的关键在于limit函数,在不同限速要求下,将不同位置相对应的速度要求及位置的值代入。本题是计算不同位置的最高速度,不能直接通过limit函数画图像,而是需要将不同位置的点分别代入,再利用函数进行计算。因此需要利用数组和for循环,每隔1cm计算一个速度点,将这些速度点连成曲线。2.源代码(此部分只截取代码的关键部分,完整代码见附录)⑴习题A只需考虑最高限速和在1366米处停下:Vmax=150/3.6;Vmin=0;Sm=1366;fork=1:150000V(k)=limit(Sm,S(k),Vmax,Vmin);End(2)习题B除最高限速外,还需考虑400-900米限速的条件,因此将整个行车过程分为三部分考虑:第一部分(0-400米):fork=1:40000Vmax1=150/3.6;Vmin1=80/3.6;Sm1=400;V(k)=limit(Sm1,S(k),Vmax1,Vmin1);end第二部分(400-900米):fork=40001:90000V(k)=80/3.6;end第三部分(900-1500米):fork=90001:150000Vmax2=150/3.6;Vmin2=0;Sm2=1366;V(k)=limit(Sm2,S(k),Vmax2,Vmin2);end得到图像如下图:此图中红色标记部分出现了速度的突然下降,与实际情况不符,因此需要对源程序进行改进。不能将400-900与900-1500这两段程序分别考虑。而应合并分析。修正后程序如下:fork=1:40000Vmax1=150/3.6;Vmin1=80/3.6;Sm1=400;V(k)=limit(Sm1,S(k),Vmax1,Vmin1);endfork=40001:150000Vmax2=80/3.6;Vmin2=0;Sm2=1366;V(k)=limit(Sm2,S(k),Vmax2,Vmin2);end更改后:00.511.50102030405060708090位置(km)速度(km/h)习题B(3)习题C此问题中有两个临时限速,分为四段考虑,核心程序如下:第一部分(0-200米):fork=1:20000Vmax1=100/3.6;Vmin1=60/3.6;Sm1=200;V(k)=limit(Sm1,S(k),Vmax1,Vmin1);end第二部分(200-380米):fork=20001:38000Vmax2=60/3.6;Vmin2=40/3.6;Sm2=400;V(k)=limit(Sm2,S(k),Vmax2,Vmin2);end第三部分(380-900米):fork=38001:90000V(k)=40/3.6;end第四部分(900-1500米):fork=90001:150000Vmax3=100/3.6;Vmin3=0;Sm3=1366;V(k)=limit(Sm3,S(k),Vmax3,Vmin3);end四、实验结果00.511.5050100150位置(km)速度(km/h)习题A00.511.50102030405060708090位置(km)速度(km/h)习题B00.511.501020304050607080位置(km)速度(km/h)习题C附:源代码(只附C的完整代码,习题A、B类似)习题C:速度计算函数:function[v]=limit(sm,s,vmax,vmin)v=-19.2+sqrt(172.8+vmin.^2+3*(sm-s));ifvvmaxv=vmax;endifv=vminv=vmin;endend主函数:V=zeros(1,150001);S=0:0.01:1500;fork=1:20000Vmax1=100/3.6;Vmin1=60/3.6;Sm1=200;V(k)=limit(Sm1,S(k),Vmax1,Vmin1);endfork=20001:38000Vmax2=60/3.6;Vmin2=40/3.6;Sm2=400;V(k)=limit(Sm2,S(k),Vmax2,Vmin2);endfork=38001:90000V(k)=40/3.6;endfork=90001:150000Vmax3=100/3.6;Vmin3=0;Sm3=1366;V(k)=limit(Sm3,S(k),Vmax3,Vmin3);endVa=V*3.6;Sa=S/1000;plot(Sa,Va)gridonxlabel('位置(km)')ylabel('速度(km/h)')title('习题C')axis([01.50120])V=V*100;S=S*100;T=[S;V];fileID=fopen('习题C.txt','wt');fprintf(fileID,'%.2f,%.2f\n',T);fclose(fileID);
本文标题:列车运行控制实验一实验报告
链接地址:https://www.777doc.com/doc-5349794 .html