资源描述
%第一个
%设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=[41
41
48
41
42
48
45
41
41
41
41
48
48
41
41
41
48
41
41
41
41
41
41
41
41
41
41
57
41
41
41
41
41
48
41
48
41
57
48
41
41
41
48
41
48
55
48
41]’;
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)—1
for i=1:d1(end)—d1(1)+1
if d1(k+1)—y11(i)+m1(k+1)〉=5 && y11(i)—d1(k)-n1(k)〉=5;
z1(i)=y11(i);
end
end
end
%将满足条件得列车再进行剔除,求数量最大且满足条件得列车
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;
end
if z1(i)〉z1(i+1)
r=floor((k—1)/5)+1;
for u=1:r
g=i—k+1+5*(u-1);
if g〉d1(end)-d1(1)+1
g=d1(end)-d1(1)+1;
end
l1(g)=z1(g);
end
k=1;
end
end
l1(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 on
end
y11=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 on
end
%第二个
%设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=[18
20
18
18
18
18
18
18
20
18
18
18
18
]';
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)-1
for i=1:d2(end)-d2(1)+1
if d2(k+1)—y21(i)+m2(k+1)>=5 && y21(i)—d2(k)-n2(k)>=5;
z2(i)=y21(i);
end
end
end
%将满足条件得列车再进行剔除,求数量最大且满足条件得列车
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;
end
if z2(i)>z2(i+1)
r=floor((k—1)/5)+1;
for u=1:r
g=i-k+1+5*(u-1);
if g〉d2(end)—d2(1)+1
g=d2(end)—d2(1)+1;
end
l2(g)=z2(g);
end
k=1;
end
end
l2(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 on
end
y21=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 on
end
%第三个
%设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=[23
23
25
23
23
22
23
23
23
23
24
30
23
22
23
23
23
23
23
23]’;
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)-1
for i=1:d3(end)-d3(1)+1
if d3(k+1)—y31(i)+m3(k+1)〉=5 && y31(i)-d3(k)—n3(k)〉=5;
z3(i)=y31(i);
end
end
end
%将满足条件得列车再进行剔除,求数量最大且满足条件得列车
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;
end
if z3(i)〉z3(i+1)
r=floor((k—1)/5)+1;
for u=1:r
g=i—k+1+5*(u—1);
if g〉d3(end)-d3(1)+1
g=d3(end)-d3(1)+1;
end
l3(g)=z3(g);
end
k=1;
end
end
l3(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 on
end
y31=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 on
end
%第四个
%设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.
x4=[27
27
28
28
28
35
28
27
35
28
28
28
36
28
28
28
28
28
28
28
28
35
35
27
28
28
28
28]’;
v4=mode(x4)
j4=x4—v4;
disp(j4)
%矩阵剔除,将f中大于0得用0代替得以矩阵m,将f小于0得数代替得一矩阵n,n,m都就是1*20得矩阵。
n4=(j4+abs(j4))/2;
m4=j4;
m4(find(j4>0))=0;
%选取可行列车
z4=zeros(1,d4(end)—d4(1)+1);%(或zeros(1,d(end)-d(1)))
y41=d4(1):1:d4(end);
for k=1:length(x4)-1
for i=1:d4(end)-d4(1)+1
if d4(k+1)-y41(i)+m4(k+1)>=5 && y41(i)-d4(k)-n4(k)>=5;
z4(i)=y41(i);
end
end
end
%将满足条件得列车再进行剔除,求数量最大且满足条件得列车
r=0;
g=0;
k=1;
p=1;
l4=zeros(1,length(d4)+50);
t4=zeros(1,d4(end)—d4(1)+1);
for i=1:d4(end)—d4(1)
if z4(i)+1==z4(i+1)
k=k+1;
end
if z4(i)〉z4(i+1)
r=floor((k-1)/5)+1;
for u=1:r
g=i-k+1+5*(u-1);
if g>d4(end)—d4(1)+1
g=d4(end)-d4(1)+1;
end
l4(g)=z4(g);
end
k=1;
end
end
l4(find(l4==0))=[];%找到l中0得位置,并令其为空,即删除
w4=l4+v4;
y43=82*ones(1,length(l4));
y44=110*ones(1,length(w4));
for i=1:length(l4)
plot([l4(i),w4(i)],[y43(i),y44(i)]);
hold on
end
y41=82*ones(1,length(d4));
y42=110*ones(1,length(h4));
for i=1:length(d4)
plot([d4(i),h4(i)],[y41(i),y42(i)]);
hold on
end
%第五个
%设6:42时间为0时刻,转换如下。
a5=[7 8 8 9 9 9 10 11 12 14 14 15 16 16 17 18];
b5=[29 29 51 19 39 44 2 21 18 19 34 39 17 35 45 33];
c5=7*ones(1,length(a5));
d5=60*(a5—c5)+b5+18;
e5=[7 8 9 9 9 10 10 11 12 14 14 15 16 16 18 18];
f5=[45 45 7 35 55 0 18 37 34 35 50 55 33 51 1 49];
g=7*ones(1,length(a5));
h5=60*(e5-g)+f5+18;
%输入经历时间,求众数,得到一个差值矩阵f。
x5=[16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16]';
v5=mode(x5)
j5=x5—v5;
disp(j5)
%矩阵剔除,将f中大于0得用0代替得以矩阵m,将f小于0得数代替得一矩阵n,n,m都就是1*20得矩阵。
n5=(j5+abs(j5))/2;
m5=j5;
m5(find(j5〉0))=0;
%选取可行列车
z5=zeros(1,d5(end)-d5(1)+1);%(或zeros(1,d(end)-d(1)))
y51=d5(1):1:d5(end);
for k=1:length(x5)—1
for i=1:d5(end)—d5(1)+1
if d5(k+1)-y51(i)+m5(k+1)〉=5 && y51(i)—d5(k)—n5(k)〉=5;
z5(i)=y51(i);
end
end
end
%将满足条件得列车再进行剔除,求数量最大且满足条件得列车
r=0;
g=0;
k=1;
p=1;
l5=zeros(1,length(d5)+50);
t5=zeros(1,d5(end)—d5(1)+1);
for i=1:d5(end)-d5(1)
if z5(i)+1==z5(i+1)
k=k+1;
end
if z5(i)>z5(i+1)
r=floor((k—1)/5)+1;
for u=1:r
g=i—k+1+5*(u—1);
if g>d5(end)—d5(1)+1
g=d5(end)-d5(1)+1;
end
l5(g)=z5(g);
end
k=1;
end
end
l5(find(l5==0))=[];%找到l中0得位置,并令其为空,即删除
w5=l5+v5;
y53=110*ones(1,length(l5));
y54=126*ones(1,length(w5));
for i=1:length(l5)
plot([l5(i),w5(i)],[y53(i),y54(i)]);
hold on
end
y51=110*ones(1,length(d5));
y52=126*ones(1,length(h5));
for i=1:length(d5)
plot([d5(i),h5(i)],[y51(i),y52(i)]);
hold on
end
%第六个
%设6:42时间为0时刻,转换如下。
a6=[8 9 10 10 11 13 13 14 15 15 16 16 17 18 18 18 19 19 19];
b6=[58 16 2 46 3 23 47 53 16 58 41 53 30 3 11 34 30 40 56];
c6=7*ones(1,length(a6));
d6=60*(a6—c6)+b6+18;
e6=[9 9 10 11 11 13 14 15 15 16 16 17 17 18 18 18 19 19 20];
f6=[15 33 20 3 20 40 4 10 33 15 58 10 47 20 28 51 47 57 13];
g=7*ones(1,length(a6));
h6=60*(e6-g)+f6+18;
%输入经历时间,求众数,得到一个差值矩阵f。
x6=[17
17
18
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17]';
v6=mode(x6)
j6=x6-v6;
disp(j6)
%矩阵剔除,将f中大于0得用0代替得以矩阵m,将f小于0得数代替得一矩阵n,n,m都就是1*20得矩阵.
n6=(j6+abs(j6))/2;
m6=j6;
m6(find(j6>0))=0;
%选取可行列车
z6=zeros(1,d6(end)-d6(1)+1);%(或zeros(1,d(end)—d(1)))
y61=d6(1):1:d6(end);
for k=1:length(x6)—1
for i=1:d6(end)-d6(1)+1
if d6(k+1)—y61(i)+m6(k+1)〉=5 && y61(i)—d6(k)-n6(k)>=5;
z6(i)=y61(i);
end
end
end
%将满足条件得列车再进行剔除,求数量最大且满足条件得列车
r=0;
g=0;
k=1;
p=1;
l6=zeros(1,length(d6)+50);
t6=zeros(1,d6(end)—d6(1)+1);
for i=1:d6(end)—d6(1)
if z6(i)+1==z6(i+1)
k=k+1;
end
if z6(i)>z6(i+1)
r=floor((k-1)/5)+1;
for u=1:r
g=i—k+1+5*(u-1);
if g〉d6(end)—d6(1)+1
g=d6(end)—d6(1)+1;
end
l6(g)=z6(g);
end
k=1;
end
end
l6(find(l6==0))=[];%找到l中0得位置,并令其为空,即删除
w6=l6+v6;
y63=126*ones(1,length(l6));
y64=143*ones(1,length(w6));
for i=1:length(l6)
plot([l6(i),w6(i)],[y63(i),y64(i)]);
hold on
end
y61=126*ones(1,length(d6));
y62=143*ones(1,length(h6));
for i=1:length(d6)
plot([d6(i),h6(i)],[y61(i),y62(i)]);
hold on
end
%第七个
%设6:42时间为0时刻,转换如下.
a7=[9 11 12 13 14 14 15 17 18 19 21];
b7=[17 5 16 42 6 21 13 12 22 36 40];
c7=7*ones(1,length(a7));
d7=60*(a7-c7)+b7+18;
e7=[9 11 12 13 14 14 15 17 18 19 21];
f7=[32 20 31 57 21 36 27 27 37 51 55];
g=7*ones(1,length(a7));
h7=60*(e7-g)+f7+18;
%输入经历时间,求众数,得到一个差值矩阵f。
x7=[15
15
15
15
15
15
15
15
15
15
15]';
v7=mode(x7)
j7=x7—v7;
disp(j7)
%矩阵剔除,将f中大于0得用0代替得以矩阵m,将f小于0得数代替得一矩阵n,n,m都就是1*20得矩阵。
n7=(j7+abs(j7))/2;
m7=j7;
m7(find(j7>0))=0;
%选取可行列车
z7=zeros(1,d7(end)-d7(1)+1);%(或zeros(1,d(end)—d(1)))
y71=d7(1):1:d7(end);
for k=1:length(x7)—1
for i=1:d7(end)-d7(1)+1
if d7(k+1)—y71(i)+m7(k+1)>=5 && y71(i)-d7(k)—n7(k)>=5;
z7(i)=y71(i);
end
end
end
%将满足条件得列车再进行剔除,求数量最大且满足条件得列车
r=0;
g=0;
k=1;
p=1;
l7=zeros(1,length(d7)+50);
t7=zeros(1,d7(end)-d7(1)+1);
for i=1:d7(end)-d7(1)
if z7(i)+1==z7(i+1)
k=k+1;
end
if z7(i)>z7(i+1)
r=floor((k—1)/5)+1;
for u=1:r
g=i—k+1+5*(u-1);
if g〉d7(end)-d7(1)+1
g=d7(end)-d7(1)+1;
end
l7(g)=z7(g);
end
k=1;
end
end
l7(find(l7==0))=[];%找到l中0得位置,并令其为空,即删除
w7=l7+v7;
y73=143*ones(1,length(l7));
y74=158*ones(1,length(w7));
for i=1:length(l7)
plot([l7(i),w7(i)],[y73(i),y74(i)]);
hold on
end
y71=143*ones(1,length(d7));
y72=158*ones(1,length(h7));
for i=1:length(d7)
plot([d7(i),h7(i)],[y71(i),y72(i)]);
hold on
end
%第八个
%设6:42时间为0时刻,转换如下.
a8=[9 10 11 12 14 14 18 19 19 20 21];
b8=[16 49 6 17 23 38 50 40 53 52 21];
c8=7*ones(1,length(a8));
d8=60*(a8—c8)+b8+18;
e8=[9 11 11 12 14 14 19 19 20 21 21];
f8=[32 5 22 33 39 54 6 56 9 8 37];
g=7*ones(1,length(a8));
h8=60*(e8—g)+f8+18;
%输入经历时间,求众数,得到一个差值矩阵f.
x8=[16
16
16
16
16
16
16
16
16
16
16]’;
v8=mode(x8)
j8=x8—v8;
disp(j8)
%矩阵剔除,将f中大于0得用0代替得以矩阵m,将f小于0得数代替得一矩阵n,n,m都就是1*20得矩阵。
n8=(j8+abs(j8))/2;
m8=j8;
m8(find(j8〉0))=0;
%选取可行列车
z8=zeros(1,d8(end)-d8(1)+1);%(或zeros(1,d(end)-d(1)))
y81=d8(1):1:d8(end);
for k=1:length(x8)—1
for i=1:d8(end)—d8(1)+1
if d8(k+1)—y81(i)+m8(k+1)>=5 && y81(i)—d8(k)—n8(k)〉=5;
z8(i)=y81(i);
end
end
end
%将满足条件得列车再进行剔除,求数量最大且满足条件得列车
r=0;
g=0;
k=1;
p=1;
l8=zeros(1,length(d8)+50);
t8=zeros(1,d8(end)-d8(1)+1);
for i=1:d8(end)-d8(1)
if z8(i)+1==z8(i+1)
k=k+1;
end
if z8(i)>z8(i+1)
r=floor((k—1)/5)+1;
for u=1:r
g=i—k+1+5*(u-1);
if g〉d8(end)-d8(1)+1
g=d8(end)—d8(1)+1;
end
l8(g)=z8(g);
end
k=1;
end
end
l8(find(l8==0))=[];%找到l中0得位置,并令其为空,即删除
w8=l8+v8;
y83=158*ones(1,length(l8));
y84=174*ones(1,length(w8));
for i=1:length(l8)
plot([l8(i),w8(i)],[y83(i),y84(i)]);
hold on
end
y81=158*ones(1,length(d8));
y82=174*ones(1,length(h8));
for i=1:length(d8)
plot([d8(i),h8(i)],[y81(i),y82(i)]);
hold on
end
%第九个
%设6:42时间为0时刻,转换如下.
a9=[9 10 11 11 11 12 12 14 15 16 17 17 18 18 19 19 19 19 20 20 20 20 21 21 21 22];
b9=[34 49 17 24 52 30 35 41 27 48 28 59 17 58 3 8 21 58 11 17 27 43 10 21 39 19];
c9=7*ones(1,length(a9));
d9=60*(a9-c9)+b9+18;
e9=[9 11 11 12 12 12 12 15 15 17 17 18 18 19 19 19 19 20 20 20 20 21 21 21 22 23];
f9=[55 11 38 7 15 51 56 2 48 9 49 20 38 19 24 29 43 19 32 38 48 5 31 42 0 1];
g=7*ones(1,length(a9));
h9=60*(e9-g)+f9+18;
%输入经历时间,求众数,得到一个差值矩阵f。
x9=[21
22
21
43
23
21
21
21
21
21
21
21
21
21
21
21
22
21
21
21
21
22
21
21
21
42]’;
v9=mode(x9)
j9=x9—v9;
disp(j9)
%矩阵剔除,将f中大于0得用0代替得以矩阵m,将f小于0得数代替得一矩阵n,n,m都就是1*20得矩阵。
n9=(j9+abs(j9))/2;
m9=j9;
m9(find(j9〉0))=0;
%选取可行列车
z9=zeros(1,d9(end)-d9(1)+1);%(或zeros(1,d(end)-d(1)))
y91=d9(1):1:d9(end);
for k=1:length(x9)-1
for i=1:d9(end)—d9(1)+1
if d9(k+1)—y91(i)+m9(k+1)〉=5 && y91(i)—d9(k)-n9(k)>=5;
z9(i)=y91(i);
end
end
end
%将满足条件得列车再进行剔除,求数量最大且满足条件得列车
r=0;
g=0;
k=1;
p=1;
l9=zeros(1,length(d9)+50);
t9=zeros(1,d9(end)-d9(1)+1);
for i=1:d9(end)—d9(1)
if z9(i)+1==z9(i+1)
k=k+1;
end
if z9(i)〉z9(i+1)
r=floor((k—1)/5)+1;
for u=1:r
g=i-k+1+5*(u-1);
if g〉d9(end)-d9(1)+1
g=d9(end)—d9(1)+1;
end
l9(g)=z9(g);
end
k=1;
end
end
l9(find(l9==0))=[];%找到l中0得位置,并令其为空,即删除
w9=l9+v9;
y93=174*ones(1,length(l9));
y94=195*ones(1,length(w9));
for i=1:length(l9)
plot([l9(i),w9(i)],[y93(i),y94(i)]);
hold on
end
y91=174*ones(1,length(d9));
y92=195*ones(1,length(h9));
for i=1:length(d9)
plot([d9(i),h9(i)],[y91(i),y92(i)]);
hold on
end
gtext(’北京西’);
gtext(’保定东’);
gtext('定州东’);
gtext('石家庄北');
gtext('邢台东’);
gtext('邯郸东’);
gtext('安阳东’);
gtext(’鹤壁东');
gtext(’新乡东');
gtext('郑州东');
展开阅读全文