1 / 19
文档名称:

列车运行图MATLAB程序.docx

格式:docx   大小:29KB   页数:19页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

列车运行图MATLAB程序.docx

上传人:小熙 2021/12/10 文件大小:29 KB

下载得到文件列表

列车运行图MATLAB程序.docx

文档介绍

文档介绍:列车运行图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];
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];
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);
列车运行图MATLAB程序
列车运行图MATLAB程序
列车运行图MATLAB程序
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=*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=*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 1