作者:nenn(百度id:正正正正正好

注1:本文中提到的所有Minecraft版本均为1.12。

注2:相关数学推导需要高等数学知识(大学理工科专业一年级内容),涉及求导、微分和积分的计算。

1.水平动力直轨(I类铁轨)上矿车运动的数学模型

目前为止,通过[1][2]中对动力直轨(I类铁轨)的研究,我们已经获得了较为成熟的数学模型。这一模型表述如下:

fixed model cu 1model fixed

通过Matlab编程,可以很容易地验证其正确性:

红、蓝、绿、粉分别代表I、II、III和IV类矿车。

为耗时,m* 为矿车的有效质量,为矿车的动量,为I类铁轨对矿车的作用力,为滑行距离,为矿车速度,为矿车加速度。

可见,其结果与[1]中展示的实验数据相吻合。

01 MATLAB1(3)

红、蓝、绿、粉四色循环分别代表不同载物量的II类矿车。

为耗时,m* 为矿车的有效质量,为矿车的动量,为I类铁轨对矿车的作用力,为滑行距离,为矿车速度,为矿车加速度。

可见,其结果与[2]中展示的实验数据相吻合。

01 MATLAB2(3)

2.更多物理量之间的关系

除了[3]中所述的物理量,有必要引入更多的物理量,从而让我们更方便地描述整个体系。

1)饱和质量

饱和质量mmax 即矿车的饱和动量pmax 与饱和速度vmax 的比值,是仅与矿车种类和载物量有关的量。

2)有效质量

有效质量m* 即矿车动量和矿车速度的比值,其随耗时t 会产生变化。当动量和速度均未达到饱和时,有效质量m*=m ;当动量和速度均达到饱和时,有效质量m*=mmax 

3)饱和常数

饱和常数B 即达到饱和速度的耗时tv 与达到饱和动量的耗时tp 的比值,是仅与矿车种类和载物量有关的量。

04 dim_pas-na(2)

4)数学模型中的所有参数

03 na_bais

3.Matlab代码

1)定义Irail函数

定义Irail函数,给定矿车种类Kind、载物量h和耗时t,返回矿车的p、F、S、v、a。
function [OU] = Irail(Kind,h,t,na)
%设置初始参数
pmax=[1.5, 2.05-h./500, 2.054, 1.01351];
vmax=[0.4, 0.4, 0.4, 0.2];
m=[1, 1, 4/3, 1];
A=[1.5, 60./(h+5), 20, 1.01351];
kp=[-25, -1000./(h+5), -1000./3, -16.89189];
%计算其他参数
tp=kp(Kind).*log(1-pmax(Kind)./A(Kind));
tv=kp(Kind).*log(1-m(Kind).*vmax(Kind)./A(Kind));
mmax=pmax(Kind)./vmax(Kind);
B=tv./tp;

%计算p,F,S,v,a
p=min(A(Kind).*(1-exp(t./kp(Kind))),pmax(Kind));
F=-(1-sign(t-tp))./2.*A(Kind)./kp(Kind).* exp(t./kp(Kind));
Ss= A(Kind) ./m(Kind).*(tv+kp(Kind).* (1-exp(tv./kp(Kind))));
S= (1-sign(t-tv))./2.*A(Kind) ./m(Kind).*(t+kp(Kind).* (1-exp(t./kp(Kind))))+ (1+sign(t-tv))./2.*( Ss+(t-tv).*vmax(Kind));
v= min(A(Kind)./m(Kind).*(1-exp(t./kp(Kind))),vmax(Kind));
a=-(1-sign(t-tv))./2.*A(Kind) ./m(Kind)./kp(Kind).* exp(t./kp(Kind));
%函数输出
temp=[p,F,S,v,a,tp,tv,B,pmax(Kind),vmax(Kind),m(Kind),mmax,A(Kind),kp(Kind)];
switch na
case 'p'
OU=temp(1);
case 'F'
OU=temp(2);
case 'S'
OU=temp(3);
case 'v'
OU=temp(4);
case 'a'
OU=temp(5);
end
end

2)绘制不同矿车种类的运动学和动力学规律

clear
clc
tstart=0;
tend=100;
tstep=1;
Type=2;
h=0;
for Type=1:4
i=1;
for t=tstart:tstep:tend;
t2(i)=t;
M=Irail(Type,h,t,'p')./Irail(Type,h,t,'v');
M2(i)=M;
i=i+1;
end
subplot(2,3,1);
plot(t2,M2);
xlabel(' t(gt)')
ylabel(' m*(ku)')
legend('m*-t',4);
ylim([0.5 5.5]);
hold on;
end
na='p';
for Type=1:4
i=1;
for t=tstart:tstep:tend;
t2(i)=t;
M=Irail(Type,h,t,na);
M2(i)=M;
i=i+1;
end
subplot(2,3,2);
plot(t2,M2);
xlabel(' t(gt)')
ylabel(' p(ku·b·gt^-^1)')
legend('p-t',4);
ylim([-0.1 2.2]);
hold on;
end
na='F';
for Type=1:4
i=1;
for t=tstart:tstep:tend;
t2(i)=t;
M=Irail(Type,h,t,na);
M2(i)=M;
i=i+1;
end
subplot(2,3,3);
plot(t2,M2);
xlabel(' t(gt)')
ylabel(' F(ku·b·gt^-^2)')
legend('F-t',4);
ylim([-0.01 0.07]);
hold on;
end
na='S';
for Type=1:4
i=1;
for t=tstart:tstep:tend;
t2(i)=t;
M=Irail(Type,h,t,na);
M2(i)=M;
i=i+1;
end
subplot(2,3,4);
plot(t2,M2);
xlabel(' t(gt)')
ylabel(' S(b)')
legend('S-t',4);
ylim([-3 43]);
hold on;
end
na='v';
for Type=1:4
i=1;
for t=tstart:tstep:tend;
t2(i)=t;
M=Irail(Type,h,t,na);
M2(i)=M;
i=i+1;
end
subplot(2,3,5);
plot(t2,M2);
xlabel(' t(gt)')
ylabel(' v(b·gt^-^1)')
legend('v-t',4);
ylim([-0.03 0.43]);
hold on;
end
na='a';
for Type=1:4
i=1;
for t=tstart:tstep:tend;
t2(i)=t;
M=Irail(Type,h,t,na);
M2(i)=M;
i=i+1;
end
subplot(2,3,6);
plot(t2,M2);
xlabel(' t(gt)')
ylabel(' a(b·gt^-^2)')
legend('a-t',4);
ylim([-0.005 0.065]);
hold on;
end

3)绘制不同载物量的II类矿车的运动学和动力学规律

clear
clc
tstart=0;
tend=100;
tstep=1;
Type=2;
h=0;
for h=0:15
i=1;
for t=tstart:tstep:tend;
t2(i)=t;
M=Irail(Type,h,t,'p')./Irail(Type,h,t,'v');
M2(i)=M;
i=i+1;
end
subplot(2,3,1);
plot(t2,M2);
xlabel(' t(gt)')
ylabel(' m*(ku)')
legend('m*-t',4);
ylim([0.5 5.5]);
hold on;
end
na='p';
for h=0:15
i=1;
for t=tstart:tstep:tend;
t2(i)=t;
M=Irail(Type,h,t,na);
M2(i)=M;
i=i+1;
end
subplot(2,3,2);
plot(t2,M2);
xlabel(' t(gt)')
ylabel(' p(ku·b·gt^-^1)')
legend('p-t',4);
ylim([-0.1 2.2]);
hold on;
end
na='F';
for h=0:15
i=1;
for t=tstart:tstep:tend;
t2(i)=t;
M=Irail(Type,h,t,na);
M2(i)=M;
i=i+1;
end
subplot(2,3,3);
plot(t2,M2);
xlabel(' t(gt)')
ylabel(' F(ku·b·gt^-^2)')
legend('F-t',4);
ylim([-0.01 0.07]);
hold on;
end
na='S';
for h=0:15
i=1;
for t=tstart:tstep:tend;
t2(i)=t;
M=Irail(Type,h,t,na);
M2(i)=M;
i=i+1;
end
subplot(2,3,4);
plot(t2,M2);
xlabel(' t(gt)')
ylabel(' S(b)')
legend('S-t',4);
ylim([-3 43]);
hold on;
end
na='v';
for h=0:15
i=1;
for t=tstart:tstep:tend;
t2(i)=t;
M=Irail(Type,h,t,na);
M2(i)=M;
i=i+1;
end
subplot(2,3,5);
plot(t2,M2);
xlabel(' t(gt)')
ylabel(' v(b·gt^-^1)')
legend('v-t',4);
ylim([-0.03 0.43]);
hold on;
end
na='a';
for h=0:15
i=1;
for t=tstart:tstep:tend;
t2(i)=t;
M=Irail(Type,h,t,na);
M2(i)=M;
i=i+1;
end
subplot(2,3,6);
plot(t2,M2);
xlabel(' t(gt)')
ylabel(' a(b·gt^-^2)')
legend('a-t',4);
ylim([-0.005 0.065]);
hold on;
end

4.参考文献

[1] 《水平动力直轨(I类铁轨)对不同矿车加速作用的数学模型》

[2] 《载物量对动力直轨(I类铁轨)上货运矿车的影响》

[3] 《铁路系统的基本物理描述和研究方法》

自动化铁路系统的设计准备

作者:nenn(百度id:正正正正正好) 注1:本文中提到的所有Minecraft版本均为1.12。 1.实现意义及基本技术 设计自动化铁路系统主要是为了解决两类物流问题...

阅读全文

安检模块的优化

作者:nenn(百度id:正正正正正好) 注1:本文中提到的所有Minecraft版本均为1.12。 1.主要优化 来自TopologyCraft的璺斝薧(百度id:璺斝薧)设计的一种...

阅读全文

自动化堆叠矿车分离模块

作者:nenn(百度id:正正正正正好) 注1:本文中提到的所有Minecraft版本均为1.12。 1.功能说明 [1]中提出的新型仓库系统中,车队操控技术是最重要的基础...

阅读全文

评论已经关闭。