当前位置:文档之家› 最新列车运行图MATLAB程序

最新列车运行图MATLAB程序

%第一个%设6:42时间为0时刻,转换如下。

a1=[6 7 7 7 7 7 7 8 8 9 9 9 9 9 10 10 10 10 10 10 11 11 12 12 12 12 13 13 14 14 15 15 15 16 16 16 16 17 17 17 17 18 18 18 18 19 20 21];b1=[42 0 10 22 33 40 52 15 30 12 17 22 27 40 5 10 15 28 45 50 33 43 7 13 34 43 5 18 25 43 6 40 45 0 18 35 57 3 19 32 37 2 12 36 42 22 47 6];c1=7*ones(1,length(a1));d1=60*(a1-c1)+b1+18;e1=[7 7 7 8 8 8 8 8 9 9 9 10 10 10 10 10 11 11 11 11 12 12 12 12 13 13 13 14 15 15 15 16 16 16 16 17 17 18 18 18 18 18 19 19 19 20 21 21];f1=[23 41 58 3 15 28 37 56 11 53 58 10 15 21 46 51 3 9 26 31 14 24 48 54 15 24 46 15 6 24 47 21 26 48 59 23 38 0 7 13 18 43 0 17 30 17 35 47]; g=7*ones(1,length(a1));h1=60*(e1-g)+f1+18;%输入经历时间,求众数,得到一个差值矩阵f。

x1=[414148414248454141414148484141414841414141414141414141574141414141484148415748414141484148554841]';v1=mode(x1)j1=x1-v1;disp(j1)%矩阵剔除,将f中大于0的用0代替得以矩阵m,将f小于0的数代替得一矩阵n,n,m都是1*20的矩阵。

n1=(j1+abs(j1))/2;m1=j1;m1(find(j1>0))=0;%选取可行列车z1=zeros(1,d1(end)-d1(1)+1);%(或zeros(1,d(end)-d(1)))y11=d1(1):1:d1(end);for k=1:length(x1)-1for i=1:d1(end)-d1(1)+1if d1(k+1)-y11(i)+m1(k+1)>=5 && y11(i)-d1(k)-n1(k)>=5;z1(i)=y11(i);endendend%将满足条件的列车再进行剔除,求数量最大且满足条件的列车r=0;g=0;k=1;p=1;l1=zeros(1,length(d1)+50);t1=zeros(1,d1(end)-d1(1)+1);for i=1:d1(end)-d1(1)if z1(i)+1==z1(i+1)k=k+1;endif z1(i)>z1(i+1)r=floor((k-1)/5)+1;for u=1:rg=i-k+1+5*(u-1);if g>d1(end)-d1(1)+1g=d1(end)-d1(1)+1;endl1(g)=z1(g);endk=1;endendl1(find(l1==0))=[];%找到l中0的位置,并令其为空,即删除w1=l1+v1;y13=0.1*ones(1,length(l1));y14=41*ones(1,length(w1));for i=1:length(l1)plot([l1(i),w1(i)],[y13(i),y14(i)]);hold onendy11=0.1*ones(1,length(d1));y12=41*ones(1,length(h1));for i=1:length(d1)plot([d1(i),h1(i)],[y11(i),y12(i)]);hold onend%第二个%设6:42时间为0时刻,转换如下。

a2=[8 8 8 10 10 10 11 13 14 15 16 19 20];b2=[6 44 58 0 24 53 16 32 23 58 28 19 19];c2=7*ones(1,length(a2));d2=60*(a2-c2)+b2+18;e2=[8 9 9 10 10 11 11 13 14 16 16 19 20];f2=[24 4 16 18 42 11 34 50 43 16 46 37 37];g=7*ones(1,length(a2));h1=60*(e2-g)+f2+18;%输入经历时间,求众数,得到一个差值矩阵f。

x2=[18201818181818182018181818]';v2=mode(x2)j2=x2-v2;disp(j2)%矩阵剔除,将f中大于0的用0代替得以矩阵m,将f小于0的数代替得一矩阵n,n,m都是1*20的矩阵。

n2=(j2+abs(j2))/2;m2=j2;m2(find(j2>0))=0;%选取可行列车z2=zeros(1,d2(end)-d2(1)+1);%(或zeros(1,d(end)-d(1)))y21=d2(1):1:d2(end);for k=1:length(x2)-1for i=1:d2(end)-d2(1)+1if d2(k+1)-y21(i)+m2(k+1)>=5 && y21(i)-d2(k)-n2(k)>=5;z2(i)=y21(i);endendend%将满足条件的列车再进行剔除,求数量最大且满足条件的列车r=0;g=0;k=1;p=1;l2=zeros(1,length(d2)+50);t2=zeros(1,d2(end)-d2(1)+1);for i=1:d2(end)-d2(1)if z2(i)+1==z2(i+1)k=k+1;endif z2(i)>z2(i+1)r=floor((k-1)/5)+1;for u=1:rg=i-k+1+5*(u-1);if g>d2(end)-d2(1)+1g=d2(end)-d2(1)+1;endl2(g)=z2(g);endk=1;endendl2(find(l2==0))=[];%找到l中0的位置,并令其为空,即删除w2=l2+v2;y23=41*ones(1,length(l2));y24=59*ones(1,length(w2));for i=1:length(l2)plot([l2(i),w2(i)],[y23(i),y24(i)]);hold onendy21=41*ones(1,length(d2));y22=59*ones(1,length(h1));for i=1:length(d2)plot([d2(i),h1(i)],[y21(i),y22(i)]);hold onend%第三个%设6:42时间为0时刻,转换如下。

a3=[7 8 9 9 10 10 11 11 12 13 14 15 16 16 17 18 19 19 19 20];b3=[50 26 6 18 20 50 13 36 56 52 52 51 28 48 26 10 10 39 58 39]; c3=7*ones(1,length(a3));d3=60*(a3-c3)+b3+18;e3=[8 8 9 9 10 11 11 11 13 14 15 16 16 17 17 18 19 20 20 21];f3=[13 49 31 41 43 13 36 59 19 15 16 21 51 11 49 33 33 2 21 2]; g=7*ones(1,length(a3));h3=60*(e3-g)+f3+18;%输入经历时间,求众数,得到一个差值矩阵f。

x3=[2323252323222323232324302322232323232323]';v3=mode(x3)j3=x3-v3;disp(j3)%矩阵剔除,将f中大于0的用0代替得以矩阵m,将f小于0的数代替得一矩阵n,n,m都是1*20的矩阵。

n3=(j3+abs(j3))/2;m3=j3;m3(find(j3>0))=0;%选取可行列车z3=zeros(1,d3(end)-d3(1)+1);%(或zeros(1,d(end)-d(1)))y31=d3(1):1:d3(end);for k=1:length(x3)-1for i=1:d3(end)-d3(1)+1if d3(k+1)-y31(i)+m3(k+1)>=5 && y31(i)-d3(k)-n3(k)>=5;z3(i)=y31(i);endendend%将满足条件的列车再进行剔除,求数量最大且满足条件的列车r=0;g=0;k=1;p=1;l3=zeros(1,length(d3)+50);t3=zeros(1,d3(end)-d3(1)+1);for i=1:d3(end)-d3(1)if z3(i)+1==z3(i+1)k=k+1;endif z3(i)>z3(i+1)r=floor((k-1)/5)+1;for u=1:rg=i-k+1+5*(u-1);if g>d3(end)-d3(1)+1g=d3(end)-d3(1)+1;endl3(g)=z3(g);endk=1;endendl3(find(l3==0))=[];%找到l中0的位置,并令其为空,即删除w3=l3+v3;y33=59*ones(1,length(l3));y34=82*ones(1,length(w3));for i=1:length(l3)plot([l3(i),w3(i)],[y33(i),y34(i)]);hold onendy31=59*ones(1,length(d3));y32=82*ones(1,length(h3));for i=1:length(d3)plot([d3(i),h3(i)],[y31(i),y32(i)]);hold onend%第四个%设6:42时间为0时刻,转换如下。

a4=[7 8 8 8 8 8 9 9 9 10 10 11 11 11 13 13 13 13 15 15 16 16 16 18 18 19 20 20];b4=[0 0 21 28 48 57 9 15 25 51 59 16 39 57 21 32 42 56 7 47 5 24 54 4 36 42 9 39];c4=7*ones(1,length(a4));d4=60*(a4-c4)+b4+18;e4=[7 8 8 8 9 9 9 9 10 11 11 11 12 12 13 14 14 14 15 16 16 16 17 18 19 20 20 21];f4=[27 27 49 56 16 32 37 42 0 19 27 44 15 25 49 0 10 24 35 15 33 59 29 31 4 10 37 7];g=7*ones(1,length(a4));h4=60*(e4-g)+f4+18;%输入经历时间,求众数,得到一个差值矩阵f。

相关主题