2024第二十一届华为杯研究生数学建模竞赛A题思路解析及代码

比赛开始后尽快更新思路与代码

注:助力内容包括原创中文版参考论文+代码程序,免费赠送其他博主的思路或者参考论文。 预计每个链接更新两次,第一次赠其他团队的进阶思路参考等;第二次更新直接上传对应原创参考论文、程序及数据等,精力有限一次只能针对一个题做;

本站需要审核更新缓慢,请及时关注文档更新:实时更新内容

---------------------------------------

选题建议及分析简述:

---------(!!2024已更新,会优先更新D和E题!!)----------

选题建议及分析简述:除A/B华为专项难度为D=E<C<F

比赛开始后尽快更新~陪你们一起奋战!

A\B是华为专项:建议对自己实力有信心的同学去挑战。后续给出思路和对应代码等资料。

C题:数据驱动下磁性元件的磁芯损耗建模物理建模:很典型但也有一些专业门槛的题目,需要有一些物理基础,建议工科同学进行尝试。该题目要求基于实验数据,建立磁性元件磁芯损耗模型,涉及多种物理机制的建模和不同工况下的预测分析。任务包括波形分类、损耗预测、模型修正和优化设计。主要算法建议使用机器学习模型来用于损耗数据的分析与预测,物理模型(如斯坦麦茨方程修正模型)来进行建模,优化算法用于实现磁芯损耗和传输效率的优化。

D题:大数据驱动的地理综合问题(数学分析,统计学):确定统计指标、选择统计模型、对统计结果解释,这种数据统计与分析,各个专业都可以尝试。门槛低都可以选,参考网上的各种思路、形成格式干净完整的论文就能混到奖,但是需要比较新奇的一些思路方式和优秀的可视化才能拿到比较高的奖项。

推荐大家可以使用这些算法来辅助建模与求解,比如时空数据分析算法(如时空克里金插值、时间序列分析),地理大数据处理与可视化(如GIS、QGIS、ArcGIS工具),机器学习模型(如随机森林、时间序列预测模型等)

E题:高速公路应急车道紧急启用模型(大数据、数据分析类题目)常规题型,各个专业都可以尝试。门槛低都可以选,参考网上的各种思路、形成格式干净完整的论文就能混到奖但是需要比较新奇的一些思路方式和优秀的可视化才能拿到比较高的奖项(这种题到最后一般都是神仙打架,但是也很容易混到奖,这边的成品论文足以拿奖)非常建议数学、自动化、数据科学、计算机科学、交通工程相关专业的同学选择,这是专属于你们的赛道题。

推荐算法:交通流量模型(如LWR模型、元胞自动机模型)、数据统计与预警模型、优化算法(用于决策应急车道的启用)、视频图像处理技术(用于从监控数据中提取交通流参数)

F题:X射线脉冲星光子到达时间建模(门槛较高,需要专业基础):尽管是很常见的物理类赛题,但需要学习不少相关知识。数值计算的部分还需要用到比如:轨道力学模型(如卫星位置计算)、时间转化模型(涉及广义相对论效应)、统计学模型(用于仿真X射线脉冲星光子序列)、泊松过程(用于光子到达时间的分布建模)。对题目给到的文献需要仔细筛选,尽管门槛高,但是拿到国二以上的竞争压力肯定是没有D和E那么高的。建议有专业基础的同学选。

---------------------AAAAAAAA成品参考论文AAAAAAAAA------------

A\B是华为专项:建议对自己实力有信心的同学去挑战。后续给出思路和对应代码等资料。

以下为部分代码


...............请重新编辑.............
import numpy as np
from numpy.linalg import norm
import random

def dft_matrix(N):
    i, j = np.meshgrid(np.arange(N), np.arange(N))
    omega = np.exp(-2 * np.pi * 1j / N)
    W = np.power(omega, i * j) 
    return W / np.sqrt(N)

def diagonal_matrix(N, k):
    D = np.zeros((N,N))
    D[k,k] = 1
    return D

def matrix_decomposition(F, iters=100):
    N = F.shape[0]
    D = [diagonal_matrix(N,k) for k in range(N)]
    
    best_D = D.copy()
    min_error = np.inf
    
    for i in range(iters):
        random.shuffle(D)
        approx = np.identity(N)
        for d in D:
            approx = np.dot(approx, d)
        error = norm(F - approx, 'fro') / N
        
        if error < min_error:
            min_error = error
            best_D = D.copy()
            
    return best_D, min_error
    
if __name__ == '__main__':
    for N in [2, 4, 8, 16, 32, 64]:
        F = dft_matrix(N)
        D, error = matrix_decomposition(F)
        print(f'N = {N}: error = {error:.4f}, complexity = {len(D)}')

.详细见后方链接等

———————————————

老粉可能知道,我的思路是为爱发电,一般分享完思路偶尔会做对应的建模(一般都是帮助同门师兄妹情况下),杜绝各位被骗,由于个人工作问题,我尽可能在比赛期间更新思路,建议收藏或者关注。

注:2024.9.21 更新,有许多同学私信我说希望发一些论文模板等资料和进度分享,有时间的话会在里边上传一些资料、回答问题 文档更新:实时更新内容

———————————————

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值