列车运行图MATLAB程序.docx

上传人:b****5 文档编号:4314414 上传时间:2022-11-29 格式:DOCX 页数:27 大小:18.42KB
下载 相关 举报
列车运行图MATLAB程序.docx_第1页
第1页 / 共27页
列车运行图MATLAB程序.docx_第2页
第2页 / 共27页
列车运行图MATLAB程序.docx_第3页
第3页 / 共27页
列车运行图MATLAB程序.docx_第4页
第4页 / 共27页
列车运行图MATLAB程序.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

列车运行图MATLAB程序.docx

《列车运行图MATLAB程序.docx》由会员分享,可在线阅读,更多相关《列车运行图MATLAB程序.docx(27页珍藏版)》请在冰豆网上搜索。

列车运行图MATLAB程序.docx

列车运行图MATLAB程序

%第一个

%设6:

42时间为0时刻,转换如下。

a1=[6777777889999910101010101011111212121213131414151515161616161717171718181818192021];

b1=[420102233405215301217222740510152845503343713344351825436404501835573193237212364222476];

c1=7*ones(1,length(a1));

d1=60*(a1-c1)+b1+18;

e1=[7778888899910101010101111111112121212131313141515151616161617171818181818191919202121];

f1=[23415831528375611535810152146513926311424485415244615624472126485923380713184301730173547];

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);

fork=1:

length(x1)-1

fori=1:

d1(end)-d1

(1)+1

ifd1(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);

fori=1:

d1(end)-d1

(1)

ifz1(i)+1==z1(i+1)

k=k+1;

end

ifz1(i)>z1(i+1)

r=floor((k-1)/5)+1;

foru=1:

r

g=i-k+1+5*(u-1);

ifg>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));

fori=1:

length(l1)

plot([l1(i),w1(i)],[y13(i),y14(i)]);

holdon

end

y11=0.1*ones(1,length(d1));

y12=41*ones(1,length(h1));

fori=1:

length(d1)

plot([d1(i),h1(i)],[y11(i),y12(i)]);

holdon

end

%第二个

%设6:

42时间为0时刻,转换如下。

a2=[88810101011131415161920];

b2=[644580245316322358281919];

c2=7*ones(1,length(a2));

d2=60*(a2-c2)+b2+18;

e2=[89910101111131416161920];

f2=[2441618421134504316463737];

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);

fork=1:

length(x2)-1

fori=1:

d2(end)-d2

(1)+1

ifd2(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);

fori=1:

d2(end)-d2

(1)

ifz2(i)+1==z2(i+1)

k=k+1;

end

ifz2(i)>z2(i+1)

r=floor((k-1)/5)+1;

foru=1:

r

g=i-k+1+5*(u-1);

ifg>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));

fori=1:

length(l2)

plot([l2(i),w2(i)],[y23(i),y24(i)]);

holdon

end

y21=41*ones(1,length(d2));

y22=59*ones(1,length(h1));

fori=1:

length(d2)

plot([d2(i),h1(i)],[y21(i),y22(i)]);

holdon

end

%第三个

%设6:

42时间为0时刻,转换如下。

a3=[789910101111121314151616171819191920];

b3=[502661820501336565252512848261010395839];

c3=7*ones(1,length(a3));

d3=60*(a3-c3)+b3+18;

e3=[889910111111131415161617171819202021];

f3=[13493141431336591915162151114933332212];

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);

fork=1:

length(x3)-1

fori=1:

d3(end)-d3

(1)+1

ifd3(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);

fori=1:

d3(end)-d3

(1)

ifz3(i)+1==z3(i+1)

k=k+1;

end

ifz3(i)>z3(i+1)

r=floor((k-1)/5)+1;

foru=1:

r

g=i-k+1+5*(u-1);

ifg>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));

fori=1:

length(l3)

plot([l3(i),w3(i)],[y33(i),y34(i)]);

holdon

end

y31=59*ones(1,length(d3));

y32=82*ones(1,length(h3));

fori=1:

length(d3)

plot([d3(i),h3(i)],[y31(i),y32(i)]);

holdon

end

%第四个

%设6:

42时间为0时刻,转换如下。

a4=[78888899910101111111313131315151616161818192020];

b4=[0021284857915255159163957213242567475245443642939];

c4=7*ones(1,length(a4));

d4=60*(a4-c4)+b4+18;

e4=[788899991011111112121314141415161616171819202021];

f4=[2727495616323742019274415254901024351533592931410377];

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);

fork=1:

length(x4)-1

fori=1:

d4(end)-d4

(1)+1

ifd4(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);

fori=1:

d4(end)-d4

(1)

ifz4(i)+1==z4(i+1)

k=k+1;

end

ifz4(i)>z4(i+1)

r=floor((k-1)/5)+1;

foru=1:

r

g=i-k+1+5*(u-1);

ifg>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));

fori=1:

length(l4)

plot([l4(i),w4(i)],[y43(i),y44(i)]);

holdon

end

y41=82*ones(1,length(d4));

y42=110*ones(1,length(h4));

fori=1:

length(d4)

plot([d4(i),h4(i)],[y41(i),y42(i)]);

holdon

end

%第五个

%设6:

42时间为0时刻,转换如下。

a5=[78899910111214141516161718];

b5=[2929511939442211819343917354533];

c5=7*ones(1,length(a5));

d5=60*(a5-c5)+b5+18;

e5=[789991010111214141516161818];

f5=[45457355501837343550553351149];

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);

fork=1:

length(x5)-1

fori=1:

d5(end)-d5

(1)+1

ifd5(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);

fori=1:

d5(end)-d5

(1)

ifz5(i)+1==z5(i+1)

k=k+1;

end

ifz5(i)>z5(i+1)

r=floor((k-1)/5)+1;

foru=1:

r

g=i-k+1+5*(u-1);

ifg>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));

fori=1:

length(l5)

plot([l5(i),w5(i)],[y53(i),y54(i)]);

holdon

end

y51=110*ones(1,length(d5));

y52=126*ones(1,length(h5));

fori=1:

length(d5)

plot([d5(i),h5(i)],[y51(i),y52(i)]);

holdon

end

%第六个

%设6:

42时间为0时刻,转换如下。

a6=[891010111313141515161617181818191919];

b6=[58162463234753165841533031134304056];

c6=7*ones(1,length(a6));

d6=60*(a6-c6)+b6+18;

e6=[991011111314151516161717181818191920];

f6=[153320320404103315581047202851475713];

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);

fork=1:

length(x6)-1

fori=1:

d6(end)-d6

(1)+1

ifd6(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);

fori=1:

d6(end)-d6

(1)

ifz6(i)+1==z6(i+1)

k=k+1;

end

ifz6(i)>z6(i+1)

r=floor((k-1)/5)+1;

foru=1:

r

g=i-k+1+5*(u-1);

ifg>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));

fori=1:

length(l6)

plot([l6(i),w6(i)],[y63(i),y64(i)]);

holdon

end

y61=126*ones(1,length(d6));

y62=143*ones(1,length(h6));

fori=1:

length(d6)

plot([d6(i),h6(i)],[y61(i),y62(i)]);

holdon

end

%第七个

%设6:

42时间为0时刻,转换如下。

a7=[911121314141517181921];

b7=[17516426211312223640];

c7=7*ones(1,length(a7));

d7=60*(a7-c7)+b7+18;

e7=[911121314141517181921];

f7=[3220315721362727375155];

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);

fork=1:

length(x7)-1

fori=1:

d7(end)-d7

(1)+1

ifd7(k+1)-y71(i)+m7(k+1)>=5&&y71(i)-d7(k)-n7(k)>=5;

z7(i)=y71(i);

end

end

end

%将满足条件的列车再进行剔除,求数量最大且满足条件的列车

r=

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1