如何根据线路坡度和弯道等数据以及列车参数在matlab上生成列车速度位移曲线
仅供参考
以下是一个大致的流程:
收集线路坡度和弯道等数据以及列车参数。根据所选取的线路,获取其各个位置上的坡度和弯道半径等数据。同时,还需要获取列车相关参数,如质量、惯性、空气摩擦力和轮轨摩擦力等。
模拟列车运行过程。利用牛顿第二定律和欧拉法等数值计算方法,模拟列车在不同位置上的速度和加速度变化。首先根据初始速度和位移计算出初试加速度,再计算出下一时刻的速度更新位移,并基于当前位置、速度、加速度反复迭代,得到速度和位移随时间的变化过程。
绘制列车速度位移曲线。通过以上计算,得到每个时间点上列车的速度和位移,可以利用Matlab中的绘图函数按照时间序列绘制速度和位移随距离(或时间)的变化曲线。这可以帮助分析列车通过某个特定位置时的速度和位移情况,从而共对车辆和轨道进行优化设计和控制。
需要注意的是,以上流程仅为大致过程,实际上还涉及其他因素如曲线升高、支架振动、轨道噪声等多个复杂因素。
在实际应用中,还需要结合实际情况进行模型参数调整和精细化处理。
可以使用MATLAB的仿真工具箱来生成高速列车的速度位移曲线。以下是一个简单的示例:假设你已经有了线路坡度和弯道等信息,还有列车的参数。
首先,我们需要建立一个坐标系,并通过绘制线路数据来表示运行路径。下面以示例为例:
% 测试采用三次样条函数拟合坐标
t=linspace(0,1,length(x));
ppx=spline(t,x);
ppy=spline(t,y);
% 采用次数拟合
ppx=csape(t,x);
ppy=csape(t,y);
% 生成超平面
[xx,yy]=ndgrid(linspace(0,1,30),linspace(0,1,60));
X=[xx(:),yy(:)];
lines=csaps(t,[x,y],.5,[],X(:));
接下来,您可以使用已知的弯曲半径和横向加速度方程来计算列车的跨度。然后,您可以使用列车的纵向运动方程来计算列车在每个点的速度。一旦您计算出每个点的速度,您就可以创建一个速度-时间曲线。通过将速度值与时间值相乘,您可以计算出列车在每个点的位移。最后,您可以绘制位移-时间曲线并分析结果。
下面是一个简单的速度位移曲线程序:
% 计算每个点的楔形跨度
wedge_angle=zeros(size(lines,1),1);
for i=1:size(lines,1)-1
p1=reshape(lines(i,:),2,1);
p2=reshape(lines(i+1,:),2,1);
v=p2-p1;
rot=[0 -1;1 0];
u=rot*v/norm(v);
wedge_angle(i)=atan2(norm(u),norm(v));
end
% Calculate speed at each point
m=2;%列车质量
b=1;%空气阻力系数
g=9.8;%重力加速度
gc=1;%牵引功率
a=[wedge_angle;0];
c=-g*sin(a)+gc;
v=zeros(size(lines,1),1);
for i=1:size(lines,1)-1
dvdt=c(i)/(m*b*v(i)+m*g*sin(a(i)))*diff(lines(i:i+1,:),1);
v(i+1)=v(i)+dvdt;
end
% Calculate displacement at each point
t=0:size(lines,1)-1;
s=cumsum(v)*diff(t(1:2));
%plot results
plot(t,s);