针对本次数维杯杯的A题,我们一共提供了共计750种方案,具体每一种方案涉及的算法可见文末表格

问题一五种做法

问题二五种做法

问题三五种做法

问题四的6种做法

数维杯分享资料【一套完整代码 + 论文】链接: https://pan.baidu.com/s/1qeALBI7ot8fMitkXaeRrvw 提取码: fg7t

图片

图片

图片

图片

摘要

本文围绕磁悬浮列车悬浮系统的电磁力建模、垂向动力学响应计算及功率放大器故障识别展开研究。全文以电流、悬浮间隙、实际电磁力、车体加速度等监测数据为基础,依次构建物理先验约束的回归模型、二自由度动力学模型、卡尔曼平滑反演模型与多方法异常检测模型,实现由理想电磁力拟合到故障判别的递进分析。

针对问题一,本文依据电流方向与悬浮间隙对电磁力的主导作用,构造带符号电流二次特征,并采用最小二乘法识别电磁力二元函数关系。模型在 99999 个理想环境样本上取得决定系数 0.878800,残差总体围绕零水平波动,说明该物理特征能够刻画电磁力主要变化规律。

针对问题二,本文将车体与悬浮架抽象为二自由度垂向耦合系统,把 16 个电磁铁实际电磁力合成为悬浮架时变外部激励,并通过线性插值与 RK45 数值积分求解动力响应。计算得到 9 s 时车体位移为 -0.037305 m,悬浮架位移为 -0.021135 m,悬浮间隙为 0.081135 m。

针对问题三,本文在全车功率放大系数相同且固定的条件下,利用卡尔曼平滑重构悬浮间隙加速度,并结合车体与悬浮架动力学反演实际总电磁力。进一步以理想总电磁力为基准估计统一放大系数,得到均值 0.7183,低于正常区间下界,判定整列车悬浮系统存在功率放大器异常。

针对问题四,本文首先指出在各电磁铁功率放大系数独立时变条件下,单时刻总电磁力方程不足以唯一反演 16 个逐台系数,因而转向贡献度异常检测。综合孤立森林、局部离群因子和滑动 Z-score 多数投票,16 台电磁铁均未被判为故障,最终故障电磁铁集合为空。

关键词:电磁力建模;二自由度动力学;卡尔曼平滑;功率放大系数;异常检测

模型假设

1.视车体与悬浮架为垂向运动中的集中质量系统,不考虑横向、纵向及转动自由度影响。

2.假设空气弹簧在研究时段内满足线性弹簧—阻尼作用关系,刚度与阻尼系数保持不变。

3. 16 个电磁铁实际电磁力合力为悬浮架所受外部电磁激励,不考虑电磁铁安装位置差异引起的力矩效应。

4.假设悬浮间隙、车体加速度和电流监测序列在采样时刻同步有效,测量噪声可通过平滑或统计方法处理。

5.在问题三中假设 16 台电磁铁功率放大系数完全相同且固定;在问题四中假设各电磁铁功率放大系数可随时间独立变化。

图片

图片

文件 方法名称 一句话大白话

Q0

Q00

q1a

综合方法:带截距线性回归 把 $I|I|/z^2$ 当作一个整体特征,加上截距项做线性回归,然后画出散点图、残差图、3D曲面等一整套评估图表

q11

方法一:简单线性回归 直接假设 $F = k \cdot I^2/z^2$,只用一个数除一个数算出比例系数 $k$

q12

方法二:对数线性化多元回归

两边取对数把乘法变成加法,然后用多元线性回归同时估出 $k$、$\alpha$、$\beta$,顺便验证指数是否接近理论值 2 和 -2

q13

方法三:非线性最小二乘(最精确) —非线性最小二乘(最精确)

q14

方法四:扩展修正模型 在间隙 $z$ 上加一个小修正量 $z_0$,变成 $F = k \cdot I^2/(z+z_0)^2$,用非线性拟合同时找最优的 $k$ 和 $z_0$

q2a

综合方法:scipy RK45 + 完整分析 用 scipy 内置的自适应步长求解器一键积分,顺手画出位移、间隙、速度、相空间、能量五张图做全套分析

q21

方法一:手动 RK4 自己手写 RK4 循环,每步用四个斜率加权平均往前推,是最经典的教科书做法

q22

方法二:scipy ODE45 自适应 让求解器自动判断每步该走多大,误差大就缩步、误差小就放步,精度有保证且不浪费计算量

q23

方法三:改进欧拉法(Heun法)vs 普通欧拉 先用欧拉预测下一步,再用预测值修正一次取平均,比纯欧拉精度高一阶,同时保留普通欧拉作误差对比

q24

方法四:矩阵指数法(半解析) 把线性部分写成矩阵,每步内把电磁力看成常数,直接用矩阵指数精确求解线性方程,不用迭代近似,理论上比 RK 更严格

q3a

综合方法:完整分析 用车体加速度直接反推弹簧力,再除以理想电磁力得到η,顺手画出η时程、分布、力对比、输入数据四张全套分析图

q31

方法一:准静态直接反解法 假设悬浮架"不动",把两个方程合并成一个简单除法:η = 系统总重力需求 ÷ 理想电磁力

q32

方法二:完整动力学反解法 不偷懒,把悬浮架加速度也算进去,从间隙数据差分出$\ddot{z}_f$后联立两个方程一起反解η,顺便和准静态法做误差对比

q33

方法三:滑动窗口积分法 不逐点求导(噪声大),改成对一段时间窗口内的方程积分,用速度变化量和力的积分之比来估η,窗口越大噪声越小

q34

方法四:最小二乘统计估计法 把所有时刻的方程堆成一个大方程组,用最小二乘一口气求出最优η,同时给出置信区间和假设检验,最后把三种方法的结果放在一张图里对比

q4a

综合方法:完整分析 用车体加速度反推总体η时程,画出悬浮间隙、加速度、电流热图、力占比等全套分析图,给出系统级故障初判

q41

方法一:残差基础检验法 假设所有电磁铁都正常,算出"应该有多大力",再和"实际有多大力"相减,残差持续偏大就说明系统整体有问题

q42

方法二:电流一致性横向比较法 正常情况下16台电磁铁应该"平均出力",把每台电流平方占全部的比例算出来,谁长期偏高或偏低谁就有问题

q43

方法三:物理贡献度分析法 把"电磁力贡献占比"代替电流占比,偏差大的台标记为故障,还能根据偏差方向区分是功率突增还是衰减

q44

方法四:假设检验+变点检测法 用CUSUM统计量监控每台电流贡献是否在某时刻突然"跳变",一旦累积和超过报警线就定位故障时间点,再用Pettitt检验验证显著性

q45

方法五:机器学习集成异常检测 用三种机器学习/统计方法各自给每台电磁铁打"是否异常"的标签,少数服从多数——至少两种方法都说有问题才最终判定为故障

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐