2023华数杯数学建模竞赛选题建议

提示:DS C君认为的难度:C<B<A,开放度:B<A<C 

A题:隔热材料的结构优化控制研究

A题是数模类赛事很常见的物理类赛题,需要学习不少相关知识。

其中第一问需要建立平纹织物整体热导率与单根纤维热导率之间关系的数学模型,并计算出单根A纤维的热导率。问题二是如何选用单根A纤维的直径和调整织物的经密纬密弯曲角度,使得织物的整体热导率最低。

对于前两问,大家可以采用传热模型:基于纤维传热和空隙中气体传热的理论,建立平纹织物的整体热导率与单根纤维热导率之间的关系模型。可以考虑使用传热方程和热传导模型以及多孔介质传热模型。然后进行参数拟合,也就是利用附件2提供的实验样品参数条件下测得的平纹织物的整体热导率,采用参数拟合或优化算法,将实验数据与理论模型进行匹配,得到单根A纤维的热导率。最后进行验证和评估,即根据建立的数学模型和计算得到的单根A纤维的热导率,对模型进行验证并进行评估。可以比较模型计算结果与实验数据的拟合程度,评估模型的准确性和可靠性。

这道题专业性较高,后续账号会在出本题具体思路分析时,再进行具体分析与建模。开放程度低,难度适中。但这类赛题通常不能起到好的练手作用,小白谨慎选择。DS-C君建议物理、电气、自动化等相关专业选择。

B题:不透明制品最优配色方案设计

B题需要用到不少运筹学相关算法,目测需要用到比如多目标优化、动态规划等,推荐利用lingo进行求解。

这里对第一问进行简单的分析,后续账号会在出本题具体思路分析时,再进行具体分析与建模。

问题一需要计算附件2中三种着色剂在不同波长下的KS值与浓度的关系。首先,我们需要选择适当的拟合函数,常见的选择包择多项式拟合、指数拟合、对数拟合等。在这里,我们使用多项式拟合来表示KS值与浓度的关系。这里的多项式拟合,如果大家想简单一点,可以就用多元线性回归或者二次多项式拟合,推荐利用matlab或者python做拟合。

具体步骤如下所示:

1 根据附件2中的数据,将波长和KS值与浓度分别记为 x 和 y

2 选择一个合适的多项式拟合函数形式

3 将拟合函数带入到拟合问题中,得到一个最小化误差的目标函数

4 使用最小二乘法或其他拟合方法求解该目标函数,得到拟合系数。

综上所述,通过拟合过程,我们可以得到红黄蓝三种着色剂在不同波长下的KS值与浓度的关系,并将关系式和拟合系数填写在表格中(表1)。具体的计算过程需要根据附件2中的数据和所选择的拟合函数进行实施。

这里给大家一个使用Python进行二次多项式拟合的示例代码:

import numpy as np
from scipy.optimize import curve_fit# 读取附件2中的数据
data = np.loadtxt('附件2.txt', skiprows=1, delimiter='\t')
wavelengths = data[:, 0]  # 波长
concentrations = data[:, 1]  # 浓度
ks_values = data[:, 2:]  # KS值# 定义二次多项式函数模型
def quadratic_function(x, a, b, c):return a + b*x + c*x**2# 对三种着色剂分别进行拟合
fit_params = []
for ks in ks_values.T:params, _ = curve_fit(quadratic_function, wavelengths, ks)fit_params.append(params)# 打印拟合系数
print('拟合系数:')
for i, params in enumerate(fit_params):print(f'着色剂 {i+1}: a={params[0]}, b={params[1]}, c={params[2]}')

当然,最好在拟合后将拟合结果绘图,如下是绘图代码:

import numpy as np
import matplotlib.pyplot as plt# 读取附件2中的数据
data = np.loadtxt('附件2.txt', skiprows=1, delimiter='\t')
wavelengths = data[:, 0]  # 波长
concentrations = data[:, 1]  # 浓度
ks_values = data[:, 2:]  # KS值# 定义二次多项式函数模型
def quadratic_function(x, a, b, c):return a + b*x + c*x**2# 对三种着色剂分别进行拟合
fit_params = []
for ks in ks_values.T:params, _ = curve_fit(quadratic_function, wavelengths, ks)fit_params.append(params)# 绘制拟合结果图
fig, axs = plt.subplots(3, 1, figsize=(10, 15))
colors = ['red', 'yellow', 'blue']
for i, ax in enumerate(axs):ax.scatter(wavelengths, ks_values[:, i], color='black', label='实际值')ax.plot(wavelengths, quadratic_function(wavelengths, *fit_params[i]), color=colors[i], label='拟合曲线')ax.set_xlabel('波长')ax.set_ylabel('KS值')ax.set_title(f'着色剂 {i+1}')ax.legend()plt.tight_layout()
plt.show()

这道题存在最优解,开放程度低,难度适中。大家选择此题最好在做完后,线上线下对对答案。推荐统计学、数学、物理等专业同学选择。

C题:母亲身心健康对婴儿成长的影响

这道题目是典型的数据分析+建模类题目。需要一定的建模能力,和国赛等其他赛事赛题类型类似,建议大家(各个专业均可)进行选择。

题目需要建立数学模型,大家可以使用评价类算法,比如灰色综合评价法、模糊综合评价法对各个指标建立联系。

第一问前大家需要对数据进行分析和数值化处理,也就是EDA(探索性数据分析)。对于数值型数据,大家用归一化、去除异常值等方式就可以进行数据预处理。而对于非数值型数据进行量化,大家可以使用以下方法:

1标签编码

标签编码是将一组可能的取值转换成整数,从而对非数值型数据进行量化的一种方法。例如,在机器学习领域中,对于一个具有多个类别的变量,我们可以给每个类别赋予一个唯一的整数值,这样就可以将其转换为数值型数据。

2独热编码onehot

独热编码是将多个可能的取值转换成二进制数组的一种方法。在独热编码中,每个可能取值对应一个长度为总共可能取值个数的二进制数组,其中只有一个元素为1,其余元素均为0。例如,对于一个性别变量,可以采用独热编码将“男”和“女”分别转换为[1, 0]和[0, 1]。

3分类计数

分类计数是将非数值型数据转换为数值型数据的一种简单方法。在分类计数中,我们根据某些特定属性(比如学历、职业等)来对数据进行分类,然后统计每个类别的数量或频率。例如,在调查问卷中,我们可以对某个问题的回答按照“是”、“否”和“不确定”三个类别进行分类,并计算每个类别的数量或频率。

4主成分分析

主成分分析是将多维数据转换为低维度表示的一种方法。在主成分分析中,我们通过找到最能解释数据变异的主成分来对原始数据进行降维处理。这样就可以将非数值型数据转换为数值型数据。

而第一问建议大家使用一些可视化方法,可以使用常见的EDA可视化方法:

l 直方图和密度图:展示数值变量的分布情况。

l 散点图:展示两个连续变量之间的关系。

l 箱线图:展示数值变量的分布情况和异常值。

l 条形图和饼图:展示分类变量的分布情况。

l 折线图:展示随时间或顺序变化的趋势。

l 热力图:展示不同变量之间的相关性。

l 散点矩阵图:展示多个变量之间的散点图矩阵。

l 地理图:展示地理位置数据和空间分布信息。

而第一问可以给小白先提示下,后续我们还会更新具体的每问思路。第一问是需要我们做相关性分析,看那几个指标之间的相关系数是否高,如果高则代表影响较大,低代表影响较小。这里可以用热力图进行绘制,从而可视化影响程度。

由于这篇是选题建议,详细思路可以看我的后续文章/视频。就不赘述了。这道题目开放度较高,难度较易,是本次比赛练手和获奖的首选题目。推荐所有专业同学选择。

有关思路、相关代码、讲解视频、参考文献等相关内容可以点击下方群名片哦!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

偶数科技亮相第十届中国中小企业投融资交易会

第十届中国中小企业投融资交易会暨2023“小企业 大梦想”高峰论坛近日在北京举办。本届大会以“金融活水精准滴灌 专精特新体制增量”为主题&#xff0c;通过展览展示、论坛活动、项目路演、产融对接等形式&#xff0c;搭建了专精特新企业与金融机构之间、与地方政府之间的产融…

华为云hcip核心知识笔记(存储服务规划)

云上存储 &#xff1a; 云硬盘:基于分布式架构&#xff0c;可弹性扩展的虚拟块存储服务 注意事项 挂载云硬盘实例和云硬盘必须在同一区域&#xff0c;否则挂载失败文件存储服务&#xff1a;完全托管的共享文件存储 可以为多个实例实现共享访问&#xff0c;不同vpc中可以进行对…

[RocketMQ] Consumer 负载均衡服务 RebalanceService入口源码 (十五)

RocketMQ一个消费者组中可以有多个消费者, 在集群模式下他们共同消费topic下的所有消息, RocketMQ规定一个消息队列仅能被一个消费者消费, 但是一个消费者可以同时消费多个消息队列。需要负载均衡服务RebalanceService来进行消息队列分配的重平衡。使用负载均衡服务RebalanceSe…

stm32 mpu6050 cubemx DMP法读取角度

文章目录 前言一、相关文件二、cubemx配置三、代码变量初始化主循环 总结 前言 文件 记录使用dmp库来读取mpu6050的角度。 这是参考文件 参考1–主要参考 github参考 参考2 参考三 一、相关文件 相关文件在这里下载&#xff08;未填&#xff0c;不过可以在上面的git中下载&a…

LPython:最新的高性能Python实现、速度极快且支持多后端

LPython 是最新的开源 Python 实现&#xff0c;目标是打造高性能版本的 Python。 LPython 官网写道&#xff0c;它一直作为 Python 编译器在开发&#xff0c;能够生成优化的机器代码。LPython 的后端支持 LLVM、C/C 翻译&#xff0c;甚至还支持 WebAssembly (WASM)。 LPython 主…

从0到1开发go-tcp框架【3-读写协程分离、引入消息队列、进入连接管理器、引入连接属性】【基础篇完结】

从0到1开发go-tcp框架【3-读写协程分离、引入消息队列、进入连接管理器、引入连接属性】 1 读写协程分离[v0.7] 添加一个Reader和Writer之间通信的channel添加一个Writer goroutineReader由之前直接发送给客户端改为发送给通信channel启动Reader和Writer一起工作 zinx/znet/co…

使用火山云搜索ESCloud服务构建图文检索应用(以文搜图/以图搜图)

图文检索在生活中具有广泛的应用&#xff0c;常见的图片检索包括基于文本内容搜索和基于图片内容搜索。用户通过输入文字描述或上传图片就可以在海量的图片库中快速找到同款或者相似图片&#xff0c;这种搜索方式被广泛应用于电商、广告、设计以及搜索引擎等热门领域。 本文基…

在CSDN学Golang场景化解决方案(微服务架构设计)

一&#xff0c;聚合器微服务设计模式 在Golang微服务架构设计中&#xff0c;聚合器&#xff08;Aggregator&#xff09;微服务设计模式是一种常见的应用程序体系结构模式。该模式旨在简化客户端与后端微服务之间的通信&#xff0c;并支持更高级别的操作&#xff0c;例如聚合多…

Vue3文本省略(Ellipsis)

APIs 参数说明类型默认值必传maxWidth文本最大宽度number | string‘100%’falseline最大行数numberundefinedfalsetrigger展开的触发方式‘click’undefinedfalsetooltip是否启用文本提示框booleantruefalsetooltipMaxWidth提示框内容最大宽度&#xff0c;单位px&#xff0c;…

亚马逊云科技发布Amazon HealthScribe,使用生成式AI技术实现临床文档的自动生成

近日&#xff0c;亚马逊云科技在纽约峰会上推出了Amazon HealthScribe&#xff0c;该服务符合HIPAA&#xff08;《健康保险流通与责任法案》&#xff09;的相关要求&#xff0c;可为医疗软件供应商提供一种基于语音和文字识别的生成式AI技术&#xff0c;帮助其创建能够自动生成…

简-理解Python的装饰器、迭代器和生成器底层原理

装饰器、迭代器和生成器是 Python 中的高级功能&#xff0c;它们分别用于扩展函数或方法的功能、遍历容器元素和创建简洁的迭代器。 装饰器 装饰器是一个用于修改或扩展函数或方法的功能的函数。装饰器接受一个函数作为参数&#xff0c;并返回一个新的函数&#xff0c;新函数通…

APUE学习62章终端(二): stty命令特殊字符终端标志

1. stty命令 stty命令的英文解释: 很明显stty有一个-F参数 所以准确的说: stty命令是设置当前终端驱动程序(也有可能直接配置了硬件&#xff0c;这点目前不清楚)的属性&#xff0c;使当前终端的驱动程序能够使能/去使能一些特殊字符的识别与处理等等 2. stty命令的结构 3. 终端…

使用vuex让购物车联动

// 1.vuex点击加减触发函数提交仓库把我们请求的数据存到仓库 2.在仓库定义这个函数和对象 把我们存进去的数据存起来 // 3。在我们需要的页面拿出数据&#xff0c;然后循环就可以 // 4.当我们点击加号就触发函数然后在vuex对这个数据进行处理 // 5.对我们点进来的数据进行一个…

【SLAM】LoFTR知多少

1. LoFTR: Detector-Free Local Feature Matching with Transformers PAPER 论文 | LoFTR: Detector-Free Local Feature Matching with Transformers 代码 | CODE: 关键词 | detector-free, local feature matching LoFTR知多少 1. LoFTR: Detector-Free Local Feature M…

O3DE的Pass

Pass介绍 Pass是具有输入和输出的渲染过程。 在最终渲染帧中看到的每个细节都是通过一系列Pass&#xff08;前一个Pass的输出是下一个Pass的输入&#xff09;计算出来的。Pass可以生成图像&#xff08;作为纹理、缓冲区或渲染目标&#xff09;。每个图像都包含关于场景的特定…

不藏了!极狐GitLab 向你介绍一位研发效能「六边形战士」

怎么用数字说清研发效能&#xff1f; 总是觉得研发资源不够用&#xff1f; 高效工作全靠领导盯&#xff1f; 不问不知道项目推迟发布&#xff1f; 代码泄漏了才紧急采取措施&#xff1f; 是时候甩开这些“研发人的 PTSD”了&#x1f623; 极狐星&#xff0c;给专业的你更…

Unity Shader:常用的C#与shader交互的方法

俗话说久病成医&#xff0c;虽然不是专业技术美术&#xff0c;但代码写久了自然会积累一些常用的shader交互方法。零零散散的&#xff0c;总结如下&#xff1a; 1&#xff0c;改变UGUI的材质球属性 有时候我们需要改变ui的一些属性&#xff0c;从而实现想要的效果。通常UGUI上…

Spring如何通过三级缓存解决循环依赖问题?

目录 一、什么是Spring 二、循环依赖问题 三、三级缓存机制 四、如何通过三级缓存解决循环依赖问题 一、什么是Spring Spring框架是一个开源的Java应用程序开发框架&#xff0c;提供了一种全面的、一致的编程模型&#xff0c;用于构建企业级应用程序和服务。它由Rod Johnso…

多个List 合并变成一个List+一个List 根据某个字段相等的另一个字段相加,并排序变成新的List

List<CurveTimeAndValueDomain> curves new ArrayList<>();for (int i 0; i < columnNames.size(); i){if (columnNames.get(i).equals(PlantConstant.TENDOWNFX) || columnNames.get(i).equals(PlantConstant.TENDOWNQP)) {//10千伏以下 数据 进行缓慢处理cu…

代码随想录算法训练营第五十三天 | 1143.最长公共子序列、1035.不相交的线、53.最大子数组和

文章目录 一、1143.最长公共子序列二、1035.不相交的线三、最大子数组和 一、1143.最长公共子序列 题目链接 代码如下&#xff1a; class Solution { public:int longestCommonSubsequence(string text1, string text2) {vector<vector<int>> dp (text1.size() …