文档库 最新最全的文档下载
当前位置:文档库 › 列车运行图MATLAB程序

列车运行图MATLAB程序

列车运行图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=[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('东');

[参考资料]列车运行图编制规则(技术部分)

列车运行图编制管理规则 一、总则 第1条为规范和加强铁路列车运行图(含机车周转图,下同)的编制和管理工作,提高列车运行图的质量,充分发挥列车运行图的作用,确保运输安全,制定本规则。 第2条列车运行图是铁路运输工作的综合计划和行车组织工作的基础。科学合理地编制列车运行图,对保证行车安全,适应市场需求,提高运输能力、效率和效益,具有重要意义。 第3条列车运行图分为基本列车运行图(简称基本图)和分号列车运行图(简称分号图)。 基本图是指经过重新编制或调整,正在实施并持续到下次重新编制或调整为止的列车运行图。调整后的基本图又称调整列车运行图(简称调整图)。 分号图是指为适应短期运输、应对突发事件或施工等需要,短时间实行,实行完毕又恢复到基本图的临时性列车运行图。 第4 条基本图的变更通过编制或调整来实现。编制需重新确定各项技术作业标准、重新构建旅客列车运行框架、重新铺画全部客货列车运行线、在全路范围同时实行。调整则是在各项技术作业标准和旅客列车运行框架不做大的变动的基础上,对基本图做的局部变更。 全路基本图原则上每两年编制一次,宜在春季或秋季实行。 铁道部、铁路局要根据铁路运输市场需求、铁路技术装备或运输组织方式发生的变化及时编制列车运行图。 列车运行图编制实行两级管理,跨局列车由铁道部组织铁路局编制,局管内列车由铁路局负责编制。 第5 条基本图的编制、调整和分号图的编制原则上以会议的方式进行。列车运行图编制、调整及确定的相关事项,以铁道部或铁路局的正式文电公布实行。 第6条列车运行图必须符合下列各项基本要求:

1.保证列车运行安全; 2.符合各项技术作业标准; 3.适应客货运输市场需求; 4.经济合理地运用机车车辆; 5.做好列车运行线与客流、车流结合; 6.充分利用线路通过能力,合理安排施工、维修天窗; 7.努力实现各站、各区段间列车运行的协调和均衡; 8.合理安排乘务人员作息时间; 9.提高铁路应急处置能力。 第7条列车车次编排按下列规定: 一、旅客列车 1.高速动车组旅客列车G1-G9998 “G”读“高” 其中:跨局G1-G5998 管内G6001-G9998 2.城际动车组旅客列车C1-C9998 “C”读“城” 其中:跨局C1-C1998 管内C2001-C9998 3.动车组旅客列车D1-D9998 “D”读“动” 其中:跨局D1-D3998 管内D4001-D9998 4.直达特快旅客列车Z1-Z9998 “Z”读“直”5.特快旅客列车T1-T9998 “T”读“特” 其中:跨局T1-T4998 管内T5001-T9998 6.快速旅客列车K1-K9998 “K”读“快” 其中:跨局K1-K6998 管内K7001-K9998

matlab相关图形实现代码

根据数据点绘制饼图和针状图: x=[1 2 3 4 5 6]; >> subplot(2,2,1);pie(x); >> subplot(2,2,2);pie3(x); >> subplot(2,2,3);stem(x); >>subplot(2,2,4);stem3(x); 5% 10% 14% 19% 24% 29% 24% 29% 19% 5%14% 10%0 2 4 6 2 4 6 5 10 01 2 05 10

根据数据点绘制向量场图、羽状图和罗盘图: x=[1 2 3 4 5 6];y=[1 2 3 4 5 6]; u=[1 2 3 4 5 6];v=[1 2 3 4 5 6]; subplot(2,2,1);quiver(x,y,u,v); subplot(2,2,2);quiver(x,y,u,v,'r'); subplot(2,2,3);feather(u,v); subplot(2,2,4);compass(u,v); 024680 246 802468 246 80 5 10 15 2 4 6 5 10 30 210 60240 90270 120 300 150330 180

rand(m,n)产生m ×n 均匀分布的随机矩阵,元素取值在0.0~1.0。 randn 函数:产生标准正态分布的随机数或矩阵的函数。 Y = randn(m,n) 或 Y = randn([m n])返回一个m*n 的随机项矩阵。 > theta=10*rand(1,50); %确定50个随机数theta >> Z=peaks; %确定Z 为峰值函数peaks >> x=0:0.01:2*pi;y=sin(x); %确定正弦函数数据点x.y >> t=randn(1000,1); %确定1000个随机数t >> subplot(2,2,1);rose(theta); %关于(theta )的玫瑰花图 >> subplot(2,2,2);area(x,y); %关于(x,y)的面积图 >> subplot(2,2,3);contour(Z); %关于Z 的等值线图(未填充) >> subplot(2,2,4);hist(t); %关于t 的柱状图 5 10 30 210 60 240 90270 120300150330 18000246 -1 -0.500.5 110 20 30 40 10 2030 40-4 -2 2 4 100 200 300

程序文件流程图

目录 8.2.3.4 a.质量手册编号 (2) 8.2.3.4 b.程序文件编号 (2) 8.2.3.4 d.质量记录编号 (2) 8.2附图 1:组织(及所属部门)制订、发放的文件受控流程图 (3) 8.2附图 2:外来受控文件受控流程图 (4) 8.3.2质量记录控制流程图 (5) 8.4.2内部质量审核工作流程图 (6) 8.5.2 6.10进货检验的不合格品控制程序 (7) 8.5.2 6.10产品已交付和使用时发现的不合格品控制程序 (8) 8.5.2产品最终检验的不合格品控制程序流程图 (9) 8.5.2产品实现过程中不合格品控制程序流程图 (10) 8.6.2A类纠正措施流程图 (11) 8.6.2B类纠正措施 (12) 8.6.2C类纠正措施 (13) 8.7.2《质量情况通报》的编制、发放、回收、处理 (14) 8.7.2财务状况预警系统 (15) 8.7.2预防措施的制订、实施和评价 (16) 8.8.2管理评审控制程序流程图 (17) 8.9.2人员招聘录用程序流程图 (18) 8.9.2培训程序流程图 (19) 8.9.2考核程序流程图 (20) 8.11.2产品实现过程策划程序流程图 (21) 8.11.2策划依据 (22) 8.12.2产品要求的识别与评审过程 (23) 8.12.2产品合同修改过程 (24) 8.12.2市场信息控制过程 (25) 8.13.2设计和开发控制程序 (26) 8.14.2采购控制程序流程图 (27) 8.15.2生产运作程序流程图 (28) 8.17.2测量和监控策划程序 (29) 8.18.2体系业绩的测量和监控过程程序 (30) 8.19.2过程的测量、监控和分析程序流程图 (31) 8.20.2产品测量和监控程序流程图 (32) 8.21.2持续改进过程控制程序 (33)

MATLAB程序代码

MATLAB 程序代码以及运行结果function [ ]= xy_1( A ) % Detailed explanation goes here x0=653.779 y0=604.47 %%%JD0的坐标 x1=757.119 y1=569.527 %%%JD1的坐标 dx=x0-x1 dy=y0-y1 L=(dx^2+dy^2)^0.5 %JD1到ID2的距离 T=T1(12,28,37) %%%切线长 xk0=T-L yk0=0 %JD2的局部坐标 c=0.9473 s=-0.3203 %%%预设cos和sin的值 %求左端缓和曲线坐标 for l=0:10:40 x=l-(l^5)/(40*(A^2))+l^9/(3456*(A^4)) %求左端缓和曲线X局部坐标 y=l^3/(6*A)-(l^7)/(336*(A^3)) %求左端缓和曲线Y局部坐标 dxk=x-xk0 dyk=y-yk0 B=[x0;y0]+[c,-s;s,c]*[dxk;dyk] %进行坐标换算 end end function [ T1 ] = T1( a,b,c) %求左端切线长 % Detailed explanation goes here A=a+b/60+c/3600 r=750 p1=p(40,750) p2=p(30,750) m1=m(40,750) T1=(r+p2-(r+p1)*cosd(A))/sind(A)+m1 end

function x = JZ1( ) %左端坐标系坐标转换矩阵 % Detailed explanation goes here x0=653.779 y0=604.47 %%%JD0的坐标 x1=757.119 y1=569.527 %%%JD1的坐标 dx=x0-x1 dy=y0-y1 L=(dx^2+dy^2)^0.5 %JD1到ID2的距离T=T1(12,28,37) %%%切线长 xk0=T-L yk0=0 %JD0的局部坐标 xk1=T yk1=0 %JD1的局部坐标 dxk=xk0-xk1 dyk=yk0-yk1 A=[dxk,-dyk;dyk,dxk] b=[dx,dy]' x=inv(A)*b %依次输出cos、sin 的值 end xy_1(30000) A = 30000 x0 = 653.7790 y0 = 604.4700 x1 =

Matlab程序代码

Matlab程序代码: clc; clear; N=20; T=0.1 t=0:T:N m=length(t) syms x1 x2 x3 fx=[0;x1+x2^2;x1-x2] gx=[exp(x2);exp(x2);0] hx=x3; R=10*eye(1) Q=[10 0 0;0 1 0;0 0 1] A=[0 1 0;0 0 1;0 0 0] B=[0;0;1] SS=B*inv(R)*B' [p1,p2,lamp,perr,wellposed,P]=aresolv(A,Q,SS) z1=hx z2=[diff(hx,x1) diff(hx,x2) diff(hx,x3)]*fx z3=[diff(z2,x1), diff(z2,x2), diff(z2,x3)]*fx ax=[diff(z3,x1), diff(z3,x2), diff(z3,x3)]*fx bx=[diff(z3,x1), diff(z3,x2), diff(z3,x3)]*gx z=[z1;z2;z3] k=inv(R)*B'*P %diff(z)=A*z+B*v=(A-B*K)*Z %x(0)=[1;0;0] abk=A-B*k x1(1)=1 x2(1)=0 x3(1)=1 z1(1)=x3(1) z2(1)=x1(1)-x2(1) z3(1)=-(x1+x2^2) for i=2:m z1(i)=z1(i-1)+T*(abk(1,1)*z1(i-1)+abk(1,2)*z2(i-1)+abk(1,3)*z3(i-1)) z2(i)=z2(i-1)+T*(abk(2,1)*z1(i-1)+abk(2,2)*z2(i-1)+abk(2,3)*z3(i-1)) z3(i)=z3(i-1)+T*(abk(3,1)*z1(i-1)+abk(3,2)*z2(i-1)+abk(3,3)*z3(i-1))

程序设计流程图.doc

程序设计流程图 程序设计流程图 程序设计的基本过程 (1)分析需求:了解清楚程序应有的功能。 (2)设计算法:根据所需的功能,理清思路,排出完成功能的具体步骤,其中每一步都应当是简单的、确定的。这一步也被称为逻辑编程。 (3)编写程序:根据前一步设计的算法,编写符合C++语言规则的程序文本。 (4)输入与编辑程序:将程序文本输入到计算机内,并保存为文件,文件名后缀为.cpp 。 至此,产生了完整的程序文本,被称为源程序或源代码。保存源程序的文件(例如前面的c:\student\ch1_01.cpp)称为源程序文件,简称源文件,文件名的后缀是.cpp 。 (5)编译(Compile):把C++程序编译成机器语言程序。 编译产生的程序称为目标程序,目标程序被自动保存为文件,这一文件称为目标文件,文件名的后缀是.obj 。 VC++进行编译的依据是源程序,如果源程序中的符号、词语、整体结构等有差错,超出了VC++的理解能力,VC++就无法完成编译,这样的差错称为语法错误。一旦发现语法错误,VC++就不生成目标文件,并在窗口下方列出错误;如果没有语法错误,则显示0 error(s) ,并生成目标文件,允许继续进行后面的步骤。 编译没有出现错误,仅仅说明程序中没有语法错误。 (6)生成执行程序:从目标文件进一步连接生成Windows环境下的可执行文件,即文件名后缀为.exe 的文件。

由于可执行文件是由若干个文件拼接而成的,其中不但有目标文件,还有另一些标准的库文件,一些规模较大的程序还会有多个目标文件,所以这一步骤又被称为连接(Link)。 (7)运行:在Windows环境中使用可执行文件。这是程序设计的最终目的。这一步也常被称为Run 。 程序设计流程图: 1.程序设计的流程图 2.程序结构流程图 3.程序算法描述流程图 4.程序算法流程图 5.浅谈程序设计的心得

基于matlab的计算器编程附代码

1.需求分析 本次的实验要求是设计一个计算器,主要功能如下: (1)实现基本数学运算(加减乘除等),而且要能进行混合运算 (2)实现部分函数功能,如求平方根、求倒数等 (3)能实现小数运算 界面与标准计算器界面类似 根据要求以及以前的学习情况,决定使用matlab进行编程。Matlab强大的计算功能以及便捷的GUI设计,可以较为简便的实现所要求的功能。按照要求,数据输入和输出支持小数点,支持四则混合运算,决定使用如下几个数据进行分析:(1+3)*5 Sqrt(4) 1/2 Sin4 用以检验是否可以进行加减乘除四则运算、平方根、倒数、正弦的运算。 2.程序设计 M atlab的程序设计较为简便,用GUI设计出一个计算器的模型,然后系统会自动生成一个框架,在框架中,写入每一个按键对应的程序就可以实现功能。 3.调式分析 编程的过程中遇到的问题不是很多,基本就是找要实现各个功能的子程序,通过上网和去图书馆,加上自己的编写,终于实现了实验要求的功能。但是有一点很重要,matlab不支持中文,所以从路径到文件名必须是全英文的,不然就无法识别。此外,给每个按键命名也是很重要的,不然在生成的程序框架里面,就无法识别各个按键的作用,编写程序的时候也就无法做到一一对应。 4.使用说明 程序的使用比较简单,由于是可视化界面,直接打开matlab,然后建立一个GUI 工程,再打开生成的fig文件,就是一个计算器的界面,直接按照市面上卖的计算器的

方法,按键使用即可。 5.测试结果 计算结果为20 4sqrt=2 Sin4结果为 1/2=0.5 经过计算,这些结果均与实际结果相吻合,计算器的功能实现的较为完好。 6.心得体会 本次试验由于不限制语言,于是计算功能强大,操作简便的matlab变成了首选,matlab的GUI设计,操作是较为简单的,首先建立一个GUI工程,然后用可视化界面,

VBA程序设计用例:程序流程图及程序代码

VBA程序教学用例 【例1】求解一元二次方程Ax2+Bx+C=0。 顺序结构的VBA程序: SUB JFC1() A = Sheets("解一元二次方程").Cells(1, 2) B = Sheets("解一元二次方程").Cells(2, 2) C = Sheets("解一元二次方程").Cells(3, 2) X1=(-B+SQR(B^2-4*A*C))/2/A X2=(-B-SQR(B^2-4*A*C))/2/A DEBUG.PRINT “X1=”,X1 DEBUG.PRINT “X2=”,X2 END SUB 提示:先将三个系数A、B、C存放到表"解一元二次方程"的单元格B1:B3中,运行结果在立即窗口中(可用CTRL+G组合键打开立即窗口)。 带判断条件的VBA程序: Sub JFC2() A = Sheets("解一元二次方程").Cells(1, 2) B = Sheets("解一元二次方程").Cells(2, 2) C = Sheets("解一元二次方程").Cells(3, 2) If B * B - 4 * A * C >= 0 Then Sheets("解一元二次方程").Cells(4, 2) = (-B + Sqr(B ^ 2 - 4 * A * C)) / 2 / A Sheets("解一元二次方程").Cells(5, 2) = (-B - Sqr(B ^ 2 - 4 * A * C)) / 2 / A Else Sheets("解一元二次方程").Cells(4, 2) = "此方程无实根" Sheets("解一元二次方程").Cells(5, 2) = "此方程无实根" End If End Sub 提示:先将三个系数A、B、C存放到表"解一元二次方程"的单元格B1:B3中,运行结果在B4:B5中)。

基于MATLAB的潮流计算源程序代码(优.选)

%*************************电力系统直角坐标系下的牛顿拉夫逊法潮流计算********** clear clc load E:\data\IEEE014_Node.txt Node=IEEE014_Node; weishu=size(Node); nnum=weishu(1,1); %节点总数 load E:\data\IEEE014_Branch.txt branch=IEEE014_Branch; bwei=size(branch); bnum=bwei(1,1); %支路总数 Y=(zeros(nnum)); Sj=100; %********************************节点导纳矩阵******************************* for m=1:bnum; s=branch(m,1); %首节点 e=branch(m,2); %末节点 R=branch(m,3); %支路电阻 X=branch(m,4); %支路电抗 B=branch(m,5); %支路对地电纳 k=branch(m,6); if k==0 %无变压器支路情形 Y(s,e)=-1/(R+j*X); %互导纳 Y(e,s)=Y(s,e); end if k~=0 %有变压器支路情形 Y(s,e)=-(1/((R+j*X)*k)); Y(e,s)=Y(s,e); Y(s,s)=-(1-k)/((R+j*X)*k^2); Y(e,e)=-(k-1)/((R+j*X)*k); %对地导纳 end Y(s,s)=Y(s,s)-j*B/2; Y(e,e)=Y(e,e)-j*B/2; %自导纳的计算情形 end for t=1:nnum; Y(t,t)=-sum(Y(t,:))+Node(t,12)+j*Node(t,13); %求支路自导纳 end G=real(Y); %电导 B=imag(Y); %电纳 %******************节点分类************************************* * pq=0; pv=0; blancenode=0; pqnode=zeros(1,nnum); pvnode=zeros(1,nnum); for m=1:nnum; if Node(m,2)==3 blancenode=m; %平衡节点编号 else if Node(m,2)==0 pq=pq+1; pqnode(1,pq)=m; %PQ 节点编号 else if Node(m,2)==2 pv=pv+1; pvnode(1,pv)=m; %PV 节点编号 end end end end %*****************************设置电压初值********************************** Uoriginal=zeros(1,nnum); %对各节点电压矩阵初始化 for n=1:nnum Uoriginal(1,n)=Node(n,9); %对各点电压赋初值 if Node(n,9)==0;

铁路列车运行图基础知识

铁路列车运行图基础知识 一、列车运行图的作用与表示方法 列车运行图是列车在区间运行及在车站到达、出发和通过时刻的图解形式,是全路客货列车的运行计划。列车运行图规定了各区间列车运行的列数、各次列车占用区间的次序、列车在每一车站到达、出发或通过的时刻、在区间的运行速度与时分、在车站的站停时间、列车的重量与长度标准等;规定了车站线路的使用程序、旅客乘降和行李包裹装卸的作业时间;规定了机车整备和出入段时间,机车运用台数,列车技术检查的作业时间以及线路、桥隧、信联闭等设备的检修、施工时间等等。这样,列车运行图不仅规定了列车的运行要求,而且规定了铁路技术设备(线路、站场、机车、车辆、信号等)的运用。同时,还规定了与列车运行有关的各个单位(车站、列车段、客运段、机务段、供电段、工务段、电务段、车辆段及其他有关单位)的工作。因此,列车运行图是铁路行车组织的基础,也是铁路运输经营管理工作的综合计划。凡与铁路运输有关的各个部门,都必须根据列车运行图的要求,正确组织本部门的工作,保证列车按运行图运行。 1.列车运行方向和车次 为了便于行车工作的管理和指挥,铁道部对列车运行方

向作了统一规定:原则上凡开往北京方向的列车为上行列车,反之,则为下行列车;个别线路不易确认时,由铁道部规定,枢纽地区的列车运行方向,由各铁路局规定。 为了区别列车运行方向,列车须按有关规定编定车次,上行列车按双数编号,下行列车按单数编号。在列车运行经路中有不同的运行方向或个别区间与整个运行方向不符时,准许使用原车次。 列车按列车种类、性质和运行方向的不同分别编定车次(详见附表五)。 2.列车运行图的格式和表示方法 列车运行图是运用直角坐标的原理来表示列车运行的一种图解形式。其横轴表示时间的推移,纵轴表示距离的延伸。以垂直线等分横轴,每一等份代表不同的时间;将纵轴按一定比例用横线加以划分,每一横线代表一个车站的中心线;在列车运行图中,以斜线表示列车运行线,其中由左下方至右上方的斜线为上行运行线,由左上方至右下方的斜线为下行运行线。为了适应使用上的需要,列车运行图分为以下三种格式: (1)二分格运行图 二分格运行图,如图2-1所示。每竖格表示2min,其10min线和小时线都用粗实线表示,2min线用细实线表示。在二分格运行图上不用数字来表示时间,而是用规定的符号

Java课程设计实验报告及全部源码流程图

课程设计 一、实验目的 1.加深对课堂讲授内容的理解,掌握解决实际应用问题时所应具有的查阅资料、技术标准和规范,以及软件编程、调试等能力,掌握面向对象的编程思想及Java语言程序设计的规律与技巧,为进一步学习web应用开发及今后从事专业工作打下基础。 2. 使用本学期学习的Java SE技术(也可以使用课堂教学中没有学习过的Java技术,但是应当以Java SE技术为主)完成多功能日历GUI程序的设计,使之具有如下基本功能:一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。 3.在完成基本功能的基础上发挥自己的想象力与创造力,使程序凸显出与众不同的特点与功能,形成本小组的特性色。 二、实验要求 1.问题描述准确、规范。 2.程序结构合理,调试数据准确、有代表性.。 3.界面布局整齐,人机交互方便。 4.输出结果正确。 5.正确撰写实验报告。 三、实验内容 编写一个GUI程序实现日历的功能。一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期以及当前农历,可以为每页日历选择背景图片。可以实现显示时钟,时钟能进行整点报

时。可以实现备忘记事功能,能在每天添加、修改、删除记事等操作。 四、实验步骤 1.在上机实验前,小组成员进行选题讨论,确定小组感兴趣而又伸缩性强的题目多功能日历。 2.在第一次上机实验时讨论分工,分工明确之后,分头合作进行。 3.各成员完成自己的任务后,最后进行统筹合并,以及程序最后的优化。 4. 根据实验结果,写出合肥工业大学实验报告。实验报告应当包括:实验内容,程序流程图,类结构,程序清单,运行结果,以及通过上机取得的经验。 5.详细的上机实验步骤见任务分工及程序设计进度表。 五、实验结果 经过小组成员的共同努力,最终我们小组设计的多功能日历程序能够实现实验的基本要求——一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。另外,在完成基本要求的基础上,我们增添了显示农历、显示时钟、添加备忘录、修改备忘录等功能。整体程序运行流畅、功能齐全、符合操作习惯。 下面是程序运行效果截图: 日历主界面(可以实现每个月的日历,可以按年或按月前后翻动,能够显示当前日期,并能够选择背景图片):

铁路运行图编制系统的现状与思考

铁路运行图编制系统的现状与思考 摘要:铁路运行图是保证铁路运输高效、安全的有效手段,而目前的铁路运行图编制系统还有部分缺陷,例如数据的精确性、动态更新、数据互联等方面存在瑕疵。为提升铁路运行图编制系统的工作效率,优化系统配置,文章对铁路运行图编制系统的现状进行了分析与思考,为铁路部门优化系统提供了参考资料。 关键词:铁路运行图;编制系统;铁路运输;系统配置;动态更新;数据互联文献标识码:A 中图分类号:U292 文章编号:1009-2374(2017) 07-0154-02 DOI:10.13535/https://www.wendangku.net/doc/825709398.html,ki.11-4406/n.2017.07.073 铁路运行图是火车在运行过程中,从始发站一直到终点站,通过发送相关数据给铁路中心,保证铁路交通安全?利运行的手段。其中运行图中涉及到铁路运输调度、机务、车辆、工务、电务、供电、客货运等多个部门,部门之间通过运行图协调合作,让列车高效快速运行,所以铁路运行图的编制是整个铁路交通部门最重要、最严谨的工作,运行图编制的好与坏直接反映了铁路运输的真实质量,还有铁路运输整体的安全稳定。因此,铁路运行图编制系统需要不断提高其编制能力与管理质量,这样才能真正保障铁路运输的经济

效益、社会效益以及公共交通安全。 1 铁路运行图编制系统的现状 1.1 铁路运行图编制系统 当前,我国的铁路运行图的编制系统内容非常复杂,其中包括列车时刻表、运行图绘制、车站股道应用、客图管理、车辆分配、牵引计算等。这些系统共同组成运行图编制系统,保证铁路交通运输安全稳定,为广大旅客带来舒适的服务。 1.2 计算机编制系统 铁路运行图编制系统主要由计算机编制系统完成,主要的编制方法有模拟法、数学模型法、人工智能法三种。模拟法采用人工绘编的方式,由工作人员按照经验编制的计算机判断与执行程序,以此实现编图。数学模型法主要使用多种数学工具对铁路运行图进行建模,优化计算机算法,实现运行图的顺利运行。人工智能法,将人的经验作为计算机运行规则,构建列车运行图编制专家系统,并将列车运行图看作各区间列车顺序的一个组合,从而将列车运行图的编制作为一个搜索问题来解决。通过计算机编制系统,运行图可以在本地、服务器、客户端上运行,实现对全部铁路交通线的动态管理。在这个系统上,铁路运输工作人员可以对车辆、站点、客运等同时进行编制运行图工作。例如运输部门对运行图进行调整、客运部门对旅客与列车时刻表进行管理编制。通过计算机编制系统大大提高了铁路运行图的利用效率,实

基本粒子群算法的matlab源程序

主函数源程序(main.m) %------基本粒子群优化算法(Particle Swarm Optimization)----------- %------名称:基本粒子群优化算法(PSO) %------作用:求解优化问题 %------说明:全局性,并行性,高效的群体智能算法 %------初始格式化-------------------------------------------------- clear all; clc; format long; %------给定初始化条件---------------------------------------------- c1=1.4962; %学习因子1 c2=1.4962; %学习因子2 w=0.7298; %惯性权重 MaxDT=1000; %最大迭代次数 D=10; %搜索空间维数(未知数个数) N=40; %初始化群体个体数目 eps=10^(-6); %设置精度(在已知最小值时候用) %------初始化种群的个体(可以在这里限定位置和速度的范围)------------ for i=1:N for j=1:D x(i,j)=randn; %随机初始化位置 v(i,j)=randn; %随机初始化速度 end end %------先计算各个粒子的适应度,并初始化Pi和Pg---------------------- for i=1:N p(i)=fitness(x(i,:),D); y(i,:)=x(i,:); end pg=x(1,:); %Pg为全局最优 for i=2:N if fitness(x(i,:),D) pg=x(i,:); end end %------进入主要循环,按照公式依次迭代,直到满足精度要求------------ for t=1:MaxDT for i=1:N v(i,:)=w*v(i,:)+c1*rand*(y(i,:)-x(i,:))+c2*rand*(pg-x(i,:)); x(i,:)=x(i,:)+v(i,:); if fitness(x(i,:),D) p(i)=fitness(x(i,:),D); y(i,:)=x(i,:);

软件开发流程图

软件开发流程 V1.0 目录 1.目的 (2) 2.适用围 (2) 3.定义 (2) 4.输入 (2) 5.输出 (2) 6.角色职责 (2) 7.流程图 (2) 8.流程活动说明 (2) 9.纪录和表格 (7) 10.相关文件 (7) 11.流程评测指标 (8) 12.流程负责人 (8)

1.目的 规软件开发过程,指导软件开发人员执行软件开发活动,保障软件开发的顺利进行,确保软件开发进度、开发质量,达到预期目标;并为智力资产库提供输入。 2.适用围 本流程适用于产品研发过程中所有软件(包括固件)开发活动的执行过程 3.定义 4.输入 《产品总体需求规格书》、《产品总体设计方案》 5.输出 5.1《软件概要设计报告》 5.2《软件详细设计报告》 5.3《测试报告》 5.4 源程序(代码) 5.5 可执行程序 6.角色职责 6.1 PDT经理(LPDT):根据需要参与软件过程中的评审。 6.2 系统工程师(SE):参与软件开发过程中的评审,指导QA完成评审报告; 6.3 软件工程师(SWE):编写软件概要设计报告、软件详细设计报告;进行软件编码并自测;进行单元测试、集成测试、系统测试,更新系统测试计划。 6.4 测试工程师(TE):参与制定测试计划;参与软件开发过程中的评审;参与实施单元测试、集成测试以及系统测试。 6.5 质量保证(QA):组织、监控软件开发过程中的评审,开发文档的基线化。 6.6 软件配置管理员(CMO):负责开发过程中的文档及代码的基线化。 6.7 软件需求管理员(RMO):负责开发过程中的需求跟踪。 7.流程图 见附件: 软件开发子流程-流程图。 8.流程活动说明 010 制定软件项目计划开发组组长&系统工程师&软件工程师&测试工程师 根据产品的开发计划,制定产品软件部分的开发计划,包括进度、任务安排、风险、人

Matlab实现HHT程序(源码,非常珍贵)

clear all; x=load ('06514135360001170106.TXT'); fs=1000000; N=length(x); t=0:1/fs:(N-1)/fs; z=x; c=emd(z); %计算每个IMF分量及最后一个剩余分量residual与原始信号的相关性[m,n]=size(c); for i=1:m; a=corrcoef(c(i,:),z); xg(i)=a(1,2); end xg; for i=1:m-1 %-------------------------------------------------------------------- %计算各IMF的方差贡献率 %定义:方差为平方的均值减去均值的平方 %均值的平方 %imfp2=mean(c(i,:),2).^2 %平方的均值 %imf2p=mean(c(i,:).^2,2) %各个IMF的方差 mse(i)=mean(c(i,:).^2,2)-mean(c(i,:),2).^2; end; mmse=sum(mse); for i=1:m-1 mse(i)=mean(c(i,:).^2,2)-mean(c(i,:),2).^2; %方差百分比,也就是方差贡献率 mseb(i)=mse(i)/mmse*100; %显示各个IMF的方差和贡献率 end; %画出每个IMF分量及最后一个剩余分量residual的图形 figure(1) for i=1:m-1 disp(['imf',int2str(i)]) ;disp([mse(i) mseb(i)]); end; subplot(m+1,1,1) plot(t,z) set(gca,'fontname','times New Roman') set(gca,'fontsize',14.0) ylabel(['signal','Amplitude']) for i=1:m-1 subplot(m+1,1,i+1);

列车运行图编制规则

列车运行图编制规则 ((79)铁运1801号1979年11月24日) 一、总则 第1条为加强列车运行图的编制工作,提高列车运行图的质量和作用,规定本规则。 第2条列车运行图是铁路运输工作的综合计划和行车组织的基础。正确地编制列车运行图,对保证行车安全,加速机车、车辆周转,提高运输效率和运输能力,完成和超额完成铁路客货运输计划,具有重要的意义。 第3条全路定期性的列车运行图编制工作,由铁道部决定。原则上每两年定期编制一次,在夏季实行。 重新编制列车运行图的主要原因如下: 1.客、货列车行车量发生较大变化; 2.铁路的技术设备发生较大的变化。如提高线路容许速度,改变牵引动力,开通新线,增加复线以及采用调度集中和自动闭塞装置等; 3.运输组织发生变化,如调整货物列车编组计划,调整机车交路和列检布局,改变货物列车重量标准等。 第4条编制列车运行图,必须贯彻下列各项基本要求: 1.列车运行的安全; 2.适应旅客运输的需要,提高客运服务水平; 3.完成国家规定的铁路货物运输计划; 4.加速机车、车辆周转,改善列车运行图的各项指标; 5.充分利用和提高线路通过能力; 6.积极考虑新技术和先进工作方法。 第5条列车分类和列车车次按下列规定: 1.旅客列车(1)特别旅客快车1-98(2)直通旅客快车101-298(3)管内旅客快车301-398(4)直通旅客列车 401-498(5)管内旅客列车501-598(6)临时旅客列车601-678(7)混合列车681-698(8)市郊列车701-748(9)旅游列车游1-游48(10)回送客车底列车:固定车次,原车次上加8000不固定车次8601-86782.货物列车(1)快运货物列车751-768(2)快运零担列车771-798(3)始发直达列车801-898(4)空车直达列车901-998(5)石油直达列车001-098(6)技术直达列车1001-1098(7)直通货物列车1101-1998(8)区段列车2001-2998(9)沿零摘挂列车3001-3098(10)摘挂列车3101-3198(11)区段小运转列车3401-3498(12)枢纽小运转列车3501-3998(13)超限货物列车7001-7098(14)保温列车7101-7198

高手怎么画出好看的程序流程图

高手怎么画出好看的程序流程图 导语: 作为一名绘图高手,自然是什么流程图都不在话下。有时候高手和菜鸟的区别并不在于有多高的技术功底,而仅仅在于一款软件的差别,用对了软件,你也可以从菜鸟瞬间转变成绘图高手。下面就让我们一起来看看绘图高手都是怎么画出好看的程序流程图吧! 免费获取亿图图示软件:https://www.wendangku.net/doc/825709398.html,/edrawmax/ 简单漂亮的程序流程图用什么软件画? 想要快速制作简单漂亮的程序流程图,首选一定不是Word或者PPT的。这里推荐一款好评度非常高的流程图软件亿图图示!亿图图示(EdrawMax)是一款跨平台、多功能、同时支持云储存、分享功能的国产专业流程图绘制软件。软件内置了12000多种精美素材和实例模板,以及实时在线免费模板供用户选择。当用户完成绘制之后,可将作品导出文件为Visio、SVG、HTML、PS、JPG、PNG、PDF等多种格式。

亿图图示软件特色: 1、丰富的模板例子:亿图图示支持超过200种图表绘制,轻松绘完流程图。 2、专业的图表软件:不仅可以绘制流程图,还可以绘制组织结构图、思维导图、网络图等。 3、值得信赖的产品:超过六百万次的下载,用户遍布全世界。 4、支持流程图在线分享,生成的网页链接可以在不同的用户终端进行查看。 5、可以使用软件轻松绘制箭头、图框,让办公效率无限提升。 画程序流程图的一般规则 1、用标准,使用标准的框图符号 2、按顺序,框图一般按从上到下、从左到右的方向画 3、看出入,大多数图形符号只有一个进入点和一个退出点,判断框是具有超过一个退出点的唯一符号,终端框用在开始时只有退出点,结束时只有进入点。 4、简说明,图形符号内描述的语言要简练清楚。 5、辨流向,流程线的箭头表明执行的方向,不可缺少。

计算机编制列车运行图系统简介范文

计算机编制列车运行图系统简介范文 计算机编制列车运行图系统简介范文 公司简介 计算机编制列车运行图系统简介 列车运行图是铁路行车组织工作的基础,国内从上世纪六十年代开始就一直进行计算机编制列车运行图的研究工作。我校研制开发的“计算机编制列车运行图系统”在全路多个铁路局和设计院得到广泛应用,并被铁道部用于编制全路直通客车二分格方案图。系统对于单线、双线及单复线、自动闭塞及半自动闭塞、直线线路及网状线路都是有效的,是一个智能化程度较高的、系统性较强的、功能较完善的以铁路网为整体的计算机编图软件系统。系统的使用改变了过去的手工编图方式,使得编图工作中放弃传统作业方式下的纸和笔已真正成为了现实。该系统的研制成功标志着我国铁路研究利用计算机编制列车运行图已跨入实际应用阶段。 该系统由数据库管理、运行图编制及调整、客图管理、时刻表生成、运行图绘制、车站股道占用图绘制及指标统计等子系统组成。系统在将编图资料进行数据库管理的前提下,采用全参数化设计,具有良好的实用性、通用性和可扩展性;该项研究建立了“单双线合一”的编图算法,为路网列车运行图的编制奠定了技术基础;该项研究采用基于人工编图经验的启发式搜索算法,取得了对难度较大的单线列车运行图的自动编制问题求解的有效突破;系统切合实际需要,提供了编图工作中所需要的各种交互手段;系统不但具有较强的单机编图功能,同时具有较完善的计算机联网编图功能,系统数据管理能有效支持网络操作,数据的输入、修改及列车运行图的编制和调整等实现了网络化,可支持列车运行图编制的多用户的协同工作,初步为铁道部、铁路局两级编图提供了技术支持手段。 系统已在全路各铁路局及铁道第一、二、三、四勘察设计院、中铁咨询设计院、中铁电气化研究设计院、沈阳勘察设计院等单位投入运用。该项研究系列成果曾获铁道部科技进步1等奖1项和山东省、内蒙古自治区、广西壮族自治区科技进步3等奖4项。

BP神经网络matlab源程序代码

close all clear echo on clc % NEWFF——生成一个新的前向神经网络 % TRAIN——对 BP 神经网络进行训练 % SIM——对 BP 神经网络进行仿真 % 定义训练样本 % P为输入矢量 P=[0.7317 0.6790 0.5710 0.5673 0.5948;0.6790 0.5710 0.5673 0.5948 0.6292; ... 0.5710 0.5673 0.5948 0.6292 0.6488;0.5673 0.5948 0.6292 0.6488 0.6130; ... 0.5948 0.6292 0.6488 0.6130 0.5654; 0.6292 0.6488 0.6130 0.5654 0.5567; ... 0.6488 0.6130 0.5654 0.5567 0.5673;0.6130 0.5654 0.5567 0.5673 0.5976; ... 0.5654 0.5567 0.5673 0.5976 0.6269;0.5567 0.5673 0.5976 0.6269 0.6274; ... 0.5673 0.5976 0.6269 0.6274 0.6301;0.5976 0.6269 0.6274 0.6301 0.5803; ... 0.6269 0.6274 0.6301 0.5803 0.6668;0.6274 0.6301 0.5803 0.6668 0.6896; ... 0.6301 0.5803 0.6668 0.6896 0.7497]; % T为目标矢量 T=[0.6292 0.6488 0.6130 0.5654 0.5567 0.5673 0.5976 ... 0.6269 0.6274 0.6301 0.5803 0.6668 0.6896 0.7497 0.8094]; % Ptest为测试输入矢量 Ptest=[0.5803 0.6668 0.6896 0.7497 0.8094;0.6668 0.6896 0.7497 0.8094 0.8722; ... 0.6896 0.7497 0.8094 0.8722 0.9096]; % Ttest为测试目标矢量 Ttest=[0.8722 0.9096 1.0000]; % 创建一个新的前向神经网络 net=newff(minmax(P'),[12,1],{'logsig','purelin'},'traingdm'); % 设置训练参数 net.trainParam.show = 50; net.trainParam.lr = 0.05; net.trainParam.mc = 0.9; net.trainParam.epochs = 5000; net.trainParam.goal = 0.001; % 调用TRAINGDM算法训练 BP 网络 [net,tr]=train(net,P',T); % 对BP网络进行仿真 A=sim(net,P'); figure; plot((1993:2007),T,'-*',(1993:2007),A,'-o'); title('网络的实际输出和仿真输出结果,*为真实值,o为预测值'); xlabel('年份'); ylabel('客运量'); % 对BP网络进行测试 A1=sim(net,Ptest');

相关文档