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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/20063.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

酒精和肠内外健康:有帮助还是有害?

谷禾健康 酒精与健康 饮酒作为一种特殊的文化形式,在我们国家有其独特的地位,在几千年的发展中,酒几乎渗透到日常生活、社会经济、文化活动之中。 据2018年发表的《中国饮酒人群适量饮酒状况》白皮书数据显示,中国饮酒人群高达6亿…

NFTScan: 蓝筹 NFT 跌幅严重,如何保持竞争力?

最近的市场大跌影响了 NFT 二级市场,市场情绪冷淡下跌严重,交易量和买家骤然下降,而蓝筹作为市场里的中流砥柱也表现不佳。以 BoerdApeYachtClub 为首的等主流 NFT 价格下跌超过 20%。此外,随着 PFP 的热潮已经过去,市…

外网SSH远程连接linux服务器,看这一篇就够了

文章目录 视频教程1. Linux CentOS安装cpolar2. 创建TCP隧道3. 随机地址公网远程连接4. 固定TCP地址5. 使用固定公网TCP地址SSH远程 转载自内网穿透工具的文章:无公网IP,SSH远程连接Linux CentOS服务器【内网穿透】 本次教程我们来实现如何在外公网环境下…

你真的理解分布式数据的分区吗?

分布式数据存储是指将数据分散存储在多个节点或服务器上的技术。而分区是将数据划分为逻辑上的片段或部分,每个分区可以在分布式系统中的不同节点上存储。分区主要是为了可扩展性。不同的分区可以放在不共享集群中的不同节点上,可以帮助实现负载均衡、高…

MySQL 表操作

目录 创建表 案例 查看表结构 修改表 案例: 删除表 创建表 CREATE TABLE table_name ( field1 datatype, field2 datatype, field3 datatype ) character set 字符集 collate 校验规则 engine 存储引擎 ; 说明: field 表示列名 dat…

OTA实现设备升级方案

引言 空中下载技术(Over-the-Air Technology, OTA)是通过移动通信的空中接口实现对移动终端设备进行远程管理的技术。 该技术在IOT行业非常的重要,当随着市场上的产品越来越多,保有量也越来越多,随着时间…

Vue换肤主题

拷贝颜色选择组件 **ThemePicker <template><!-- navabar的换肤组件 --><el-color-pickerv-model="theme":predefine="[#409EFF,

计算机组成原理实验三-----系统总线和具有基本输入输出功能的总线接口实验

总线是计算机中连接各个功能部件的纽带&#xff0c;是计算机各部件之间进行信息传输的公共通路。 总线不只是一组简单的信号传输线&#xff0c;它还是一组协议。他有两大特征 分时: 同一总线在同一时刻&#xff0c;只能有一个部件占领总线发送信息&#xff0c;其他部件要发送…

IDEA 导入 spring 源码

文章目录 前言一、下载源码二、安装 Gradle1. 下载 Gradle2. 配置环境变量 三、导入前准备四、编译源码1. 导入源码2. 我所遇见的问题 五、测试1. 创建 module2. 编写测试代码3. 我所遇到的问题 六、总结 前言 我们在学习 spring 源码的时候&#xff0c;有时候是需要在阅读源码…

HS6621系列低功耗国产蓝牙芯片 支持蓝牙5.1

HS6621CxC是一个功耗优化的蓝牙低功耗和专有的2.4 ghz应用真正的芯片上系统(SOC)解决方案。它集成了一个具有蓝牙基带和丰富外设的低功耗射频收发器I0扩展。HS6621CxC还集成了电源管理&#xff0c;提供高效率电源管理。它的目标是2.4 G蓝牙低功耗系统&#xff0c;人机界面设备(…

File类、IO数据流介绍

文章目录 &#x1f412;个人主页&#x1f3c5;JavaSE系列专栏&#x1f4d6;前言&#xff1a;&#x1f380;File类的设计&#x1fa85;数据流的流向 &#x1f3c5;对数据操作的类&#x1f9f8;按单位划分&#x1f9f8;按封装类型划分 &#x1f380;整理File常用方法 &#x1f41…

有赞一面:亿级用户DAU日活统计,有几种方案?

说在前面 在40岁老架构师 尼恩的读者社区(50)中&#xff0c;最近有小伙伴拿到了一线互联网企业如极兔、有赞、希音、百度、网易、滴滴的面试资格&#xff0c;遇到一几个很重要的面试题&#xff1a; (1) 亿级用户场景&#xff0c;如何高性能统计日活&#xff1f; (2) 如何实现亿…

智见|中国能建中电工程罗必雄:数能融合为数字中国夯实底座

出品|网易科技《智见访谈》 作者&#xff5c;赵芙瑶 编辑&#xff5c;丁广胜 数字化浪潮的风&#xff0c;吹到了能源结构转型领域。 中国作为全球最大的能源生产国和消费国&#xff0c;正积极推动能源行业的数字化和智能化建设。数字化智能化升级在能源产业中被视为一项重要的战…

lambda处理异常四种方式

最近对接第三方呼叫系统&#xff0c;第三方SDK的所有方法里都有异常抛出&#xff0c;因为用到了lambda&#xff0c;所以异常处理还是很必要的。 本文主要用到了四种解决方案&#xff1a; 直接代码块处理自定义函数式接口&#xff0c;warp静态方法通过Either 类型包装通过Pair 类…

【Android】Exam5 ListView组件简单应用

Exam5 ListView组件简单应用 ListView组件简单应用 Exam5 ListView组件简单应用目的实验内容及实验步骤采用SimpleAdapter自定义Adapter运行及结果&#xff1a;实验总结 目的 掌握常用的UI布局及组件&#xff1b; 掌握使用Intent启动Activity的方法 掌握ListView组件的简单应用…

[离散数学] 函数

文章目录 函数判断函数的条件复合函数复合函数的性质 逆函数 函数 判断函数的条件 dom F A ⇔ \Leftrightarrow ⇔所有x 都有 F&#xff08;x&#xff09;与之对应 有唯一的与其对应 < x , y > ∈ f ∧ < y , z > ∈ f ⇒ y z <x,y>\in f \land <y,z…

无需繁琐手工操作,如何利用Web自动化测试元素定位做到快速高效的测试?

1、什么是Web自动化测试元素定位&#xff1f; 在Web自动化测试中&#xff0c;元素定位是非常重要的环节。因为我们需要找到需要进行操作的页面元素&#xff0c;例如按钮、输入框、下拉菜单等等。元素定位可以帮助我们在自动化测试中对这些元素进行操作&#xff0c;如点击、输入…

生物识别技术能否成为应对安全挑战的绝佳选择?

生物识别技术能否成为应对安全挑战的绝佳选择&#xff1f; 生物识别技术是利用人体固有的生理特征或行为特征来进行身份鉴别的一种技术&#xff0c;如指纹、人脸、声纹、虹膜等。1 生物识别技术具有不可撤销性、高度便利性和较低错误率等优势&#xff0c;在安全领域中也备受瞩目…

React动态路由配置

目录 项目初始化 模块创建 统一导出 全局模块配置选项 核心代码 使用及效果展示 博文适用于react-router v6及以上&#xff0c;其中还有很多值得改进的地方 最近学习react的过程中&#xff0c;思考怎样实现动态路由的配置(最终实现从页面配置最终动态从数据库加载上线模…

Stable Diffusion webui安装使用

参考&#xff1a; https://stability.ai/blog/stable-diffusion-public-release https://github.com/AUTOMATIC1111/stable-diffusion-webui 1、安装&#xff08;6g显存&#xff09; 1、conda创建python 3.10.6环境 conda create -n stable-diffusion pythonpython 3.10.6 也安…
最新文章