2023 年第八届数维杯大学生数学建模挑战赛 B 题详细思路 节能列车运行控制优化策略

一种可能的建模方法是基于列车的动力学方程和阻力方程,将列车视为单质点,忽略车厢间的车钩力和速度差。根据给定的参数,可以建立如下的方程:

$$m(p+1)\frac{dv}{dt}=F-f(v)-g(i)$$

$$f(v)=2.0895+0.0098v+0.006v^2$$

$$g(i)=mgi$$

 

其中,$m$是列车质量,$p$是旋转质量因子,$v$是列车速度,$t$是时间,$F$是列车牵引力或制动力,$f(v)$是列车所受基本阻力,$g(i)$是列车所受坡道附加阻力,$i$是坡度千分数。

为了求解这个微分方程,可以使用数值方法,如欧拉法或龙格-库塔法。具体的步骤如下:

1. 将时间区间$[0,T]$划分为$n$个小区间,每个区间的长度为$\Delta t=T/n$。令$t_k=k\Delta t,k=0,1,\dots,n$。

2. 给定初始条件$v_0=v(0)$和初始牵引力或制动力$F_0=F(0)$。

3. 对于$k=0,1,\dots,n-1$,根据数值方法计算$v_{k+1}=v(t_{k+1})$和$F_{k+1}=F(t_{k+1})$。例如,如果使用欧拉法,则有:

 

$$v_{k+1}=v_k+\frac{F_k-f(v_k)-g(i_k)}{m(p+1)}\Delta t$$

$$F_{k+1}=\min\{\max\{F_k+\alpha\Delta t,-760\},310\}$$

其中,$\alpha$是牵引力或制动力的变化率,可以根据不同的运行策略设定。注意,牵引力或制动力需要满足最大值和最小值的限制。

4. 根据$v_k$和$\Delta t$计算列车运行距离$s_k=s(t_k)$。例如,如果使用梯形法,则有:

$$s_{k+1}=s_k+\frac{v_k+v_{k+1}}{2}\Delta t$$

 

5. 根据$v_k,s_k,t_k,F_k$绘制所需的曲线。例如,速度-距离曲线就是$v=f(s)$,牵引制动力-距离曲线就是$F=f(s)$等。

6. 为了获取不同运行时间的曲线,可以调整$\alpha$的值或者在某些区间内设置惰行模式(即$F=0$)。例如,如果要求列车在最短运行时间上增加10s到达站台

实现代码

首先,需要定义一些常量和初始条件,如列车质量$m$、旋转质量因子$p$、坡度$i$、初始速度$v_0$、初始牵引力或制动力$F_0$、时间区间$[0,T]$、时间步长$\Delta t$等。这些参数可以根据具体的列车和路线进行设置。

m = 200000     # kg, 列车质量
p = 0.05       # 旋转质量因子
i = 0.01       # 坡度千分数
v0 = 0         # 初始速度
F0 = 30000     # 初始牵引力或制动力
T = 500        # s, 时间区间
dt = 1         # s, 时间步长
n = int(T/dt)  # 时间步数

接下来,可以定义一些函数,如阻力函数$f(v)$、附加阻力函数$g(i)$、数值解微分方程的函数$ode_func(v, t, F)$等。这些函数可以根据具体的物理模型进行定义。

def f(v):
    return 2.0895 + 0.0098*v + 0.006*v**2

def g(i):
    return m*9.8*i

def ode_func(v, t, F):
    dvdt = (F - f(v) - g(i)) / (m*(p+1))
    return dvdt

然后,可以使用欧拉法或者其他数值方法来求解微分方程。这里以欧拉法为例

# 初始化数组
v = [v0] * (n+1)
s = [0] * (n+1)
F = [F0] * (n+1)
t = [i*dt for i in range(n+1)]

# 求解微分方程
for i in range(n):
    dvdt = ode_func(v[i], t[i], F[i])
    v[i+1] = v[i] + dvdt*dt
    F[i+1] = min(max(F[i] + alpha*dt, -760), 310)
s[i+1] = s[i] + (v[i] + v[i+1])/2 * dt

根据求解出的速度、距离和牵引力或制动力,可以绘制速度-距离曲线、牵引制动力-距离曲线、时间-距离曲线和能量消耗-距离曲线。具体的实现可以使用matplotlib等库进行绘制。

import matplotlib.pyplot as plt

# 绘制速度-距离曲线
plt.plot(s, v)
plt.xlabel('Distance (m)')
plt.ylabel('Speed (m/s)')
plt.title('Speed-Distance Curve')
plt

  • 9
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
2023 第八届数维杯大学生数学建模挑战赛b要求我们通过建立数学模型来解决问。在解答这道之前,我们首先需要理解目的要求和条件。 经过分析目内容,我们可以得知该要求我们确定三幅相互切线连接的圆的半径和切点位置。首先,我们可以通过计算出三个切点的坐标来确定切点位置。可以利用已知条件,使用平行四边形法则,得到切点的坐标。然后,我们可以根据切点坐标计算出三个圆之间的距离,从而求出圆的半径。 为了建立数学模型解决问,我们可以做如下步骤: 第一步,确定切点坐标:根据已知条件,计算出三个切点的坐标。假设三个切点坐标分别为A(x1, y1),B(x2, y2),C(x3, y3)。 第二步,计算圆心坐标:利用平行四边形法则,根据已知的切点坐标可以求得三个圆心的坐标。令圆心坐标分别为O1(xo1, yo1),O2(xo2, yo2),O3(xo3, yo3)。 第三步,计算半径:利用已知的切点和圆心坐标,可以计算出三幅圆之间的距离。令圆的半径分别为r1,r2,r3。 最后,我们可以将以上三步整合在一起,建立数学模型来解决问。运用相关的几何原理和计算方法,可以计算出目要求的圆的半径和切点位置。 总的来说,通过建立数学模型,可以解决2023 第八届数维杯大学生数学建模挑战赛b。我们可以分步骤确定切点坐标和圆心坐标,进而计算出圆的半径。这样,我们就能够满足目的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值