欢迎光临散文网 会员登陆 & 注册

% 列车轨道耦合动力学模拟小程序1

2023-02-26 22:21 作者:交大土木_有缘再会  | 我要投稿

% 列车轨道耦合动力学模拟小程序1

clear all;


% 参数设定

m = 20000;          % 列车质量,单位 kg

c = 5000;           % 车辆阻尼系数,单位 Ns/m

k = 100000;         % 车辆弹性系数,单位 N/m

L = 50;             % 列车长度,单位 m

v = 20;             % 列车速度,单位 m/s

x0 = 0;             % 车辆初始位置,单位 m

xdot0 = 1;          % 车辆初始速度,单位 m/s

tspan = [0 100];    % 时间范围,单位 s


% 求解微分方程

options = odeset('RelTol',1e-6,'AbsTol',1e-9);

[t,x] = ode45(@train_eq,tspan,[x0 xdot0],options,m,c,k,L,v);


% 绘制车辆运动轨迹

figure;

plot(x(:,1),t,'LineWidth',2);

xlabel('Position (m)','FontSize',14);

ylabel('Time (s)','FontSize',14);

title('Train Motion','FontSize',16);


% 定义微分方程

function [xdot] = train_eq(t,x,m,c,k,L,v)

    % 列车位置和速度

    pos = x(1);

    vel = x(2);


    % 计算轨道力和车辆力

    F_track = k*pos/L;

    F_vehicle = -c*vel - k*pos;


    % 计算加速度

    acc = (F_track + F_vehicle)/m;


    % 车辆速度和位置的一阶微分方程

    xdot(1) = vel;

    xdot(2) = acc;


    xdot = xdot';

end


% 列车轨道耦合动力学模拟小程序1的评论 (共 条)

分享到微博请遵守国家法律