百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术分析 > 正文

强强对话 | MATLAB 助力数学建模学霸养成

liebian365 2025-03-02 17:59 14 浏览 0 评论

新的学年马上要开始了,大家都准备好了吗?

今天的强强对话,我们邀请到的是数学建模方向的学霸级小姐姐:上海财经大学数学与应用数学专业 2017 级本科生罗心悦同学,日前已被录取为复旦大学计算数学 2021 级直博生。

她本科期间于 2018、2019 连续两年获得全国大学生数学建模竞赛全国二等奖以及上海赛区一等奖,2020 年获 MathorCup 高校数学建模挑战赛一等奖,2021 年获全国第二届研究生工业与金融大数据建模与计算邀请赛特等奖。

小姐姐不仅在竞赛方面成绩卓越,科研成绩也非常优秀。

2020 年初, 新型冠状病毒肺炎(COVID-19)疫情暴发,她跟随学院科研团队研究传染病模型,分析预测疫情的发展,联合发表多篇论文。

以下是罗心悦同学的个人分享。小姐姐非常真诚地分享了自己的学霸养成记,希望对大家求学路上的一些纠结 & 困惑及数学建模参赛有所启发:



梦想萌芽,努力生长

在初中毕业之前,我从未乘坐过飞机出行。当时我的父母对我说,出趟远门吧,想去哪里看看?我不假思索地回答道,上海吧。于是人生中第一次航班降落在了上海浦东机场。

现在回想起来,仍觉得有些不可思议,从那时起直到7年后的今天,我至少拥有二三十张印有上海浦东机场的机票,也许缘分就是从那时开始的吧。

来到上海,我去参观了古香古色的大学校园,去感受了外滩的华灯初上,去游览了青瓦白墙的江南古镇…那时的我便萌生了一个想法:争取考上上海的大学。进入高中后,课内学习之余,我也参加了学校组织的竞赛培训、自招培训。在高三下学期,我报名了上海财经大学自主招生考试,面对 0.5% 的报录比,本不抱什么希望且忙于备战高考的我,来不及了解列表中每一个专业,于是从繁杂类似的专业名称中选出了最熟悉的那个——数学。

就这样,我与上财相遇了,我与数学相遇了。



逐梦启航,乘风破浪

凭借来之不易的自招降分,我如愿入读上财数院。开学初,我又幸运地通过了实验班选拔考试,成为首届财经数学实验班中的一员,由此开启了数学学习之旅。

但真正进入大学后,“数学”这个硬核的专业着实让我“头秃”了一段时间。

在高中,解决数学题总是有迹可循,只要善于归纳和推广,数学题就能做得又快又好。但是到了大学之后,数学作为一门古老且独立的学科,有自身的门道和思想在里面。一开始,我并没有意识到这种差异,直到第一次期中考惨遭分数滑铁卢。我开始请教学长学姐学习方法,一遍又一遍地看书、刷题、总结,增进对知识本身的理解。现在回想,学数学仅凭热情与兴趣是远远不够的,它更是一种磨练。学好数学需要专注、坚持、意志。

数学很难,但它能够帮助你从数学的角度认识世界,以及认识自己。

在财大务实向上的整体氛围影响下,我加入了一些学生组织,认识了一些很棒的小伙伴,组队一起打比赛、做项目。得益于实验班培养,我从大一开始上研讨班,学着阅读英文文献、学着作学术汇报。大一下,对数学建模不甚了解的我拉上两位同班同学一同参加数模校内赛,尝试手解动态规划,最终获得三等奖,大致是“成功参与”的意味哈哈。痛定思痛,我重新拾起大一上《MATLAB 与数值计算》课程的教科书,利用暑假看了一个又一个 example。功夫不负有心人,尽管那时的我们数学储备只有数分和高代,但那次国赛我们斩获了国奖

关于建模软件的选择,同学们也许会好奇我为什么会选择 MATLAB。

说来也很巧,我进入大学的第一堂课就是《MATLAB 与数值计算》,在后续的学习过程中,我发现 MATLAB 是一个新手友好的编程软件。在过往的参赛经历中,我绝大部分时间都是使用 MATLAB 进行计算。我总结下来:

1)MATLAB 具有丰富强大的功能以及良好的交互性。

它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计等存要进行有效数值计算的众多科学领域提供了一种全面的解决方案。

2)另外,MATLAB 还具有官方案例的种类全、质量高的显著优点。

得益于 Live-script (实时脚本) 功能,用户可以享受自定义进度的互动式学习。对于编程学习而言,前期的语法学习是枯燥的。在掌握最基本的语法后,找感兴趣案例跟着实现一遍,不失为一种高效的学习方法。在学习过程中,如果对任何函数有疑问,可以在命令窗口打入 help 函数名、doc 函数名、edit 函数名,就能分别执行"查看函数帮助"、"查看函数文档"、"查看函数源码"。



不畏迷雾,砥砺前行

大学四年,像大多数“内卷”大环境下的同龄人一样,我也经历了迷茫焦虑、自我怀疑、无所适从的时光。大一大二的我曾计划本科毕业后去往英国或者美国修读金融类、数据科学类、统计类的 MSc。大三似乎是一个转折点。低年级时所拥有的、急切追寻的的美好幻想,在这时出现了裂痕。破碎的裂痕是丑陋的,但它必定也是阳光洒进来的必经之路,在破碎的过程中,我看清了自己内心的想法。——回归初心,申请国内国外应数方向 PhD

读 PhD 是一件需要慎重考虑的事情,当时我主要考虑了以下几点:

1. 动机。读博的动机是什么?这个动机是否足够正确/有力,能够支持我一直走下去?

2. 能力。到底自己有没有做科研的能力?应该怎么去检验自己是否具备这个能力?

3. 心态。读博耗时长、压力大,可能承担着身边亲人、朋友不可体会的焦虑和痛苦,自己是否有勇气去独立面对和承担?

4. 未来。从事什么职业?在哪个城市发展?

大学的经历以及与师长前辈们的交流帮助我得到了一些答案,但剩下的答案还需要我继续探索......至少现在,我的想法依旧是,选择读博并不是为了找好工作/拿教职,而是给自己一定沉淀的时间,学会做研究并且乐在其中。

学默默以存志,将乾乾而希圣。

在我看来,大学生是应当负有责任和使命的,为了国家和社会,也是为了世界和全人类。在感兴趣的领域研究未知可能性,做一些从未有过的工作,是一件令人振奋的事情,尽管它可能异常寂寞。哪怕只能作出微不足道的贡献,也是为拓展人类的知识添砖加瓦。



不忘初心,勇敢前行

人应该在实践中证明自己思维的真理性,马克思如是说。数学作为自然科学的基础,推动着当今世界重大技术的创新发展。进入高年级后,我在一次次竞赛科研的经历中,运用所学的数学知识解决关系工业生产、社会民生的应用问题,感受到了数学这门学科的蓬勃生命力。对 MATLAB 的掌握更是加快了我利用数学知识解决实际问题的脚步,让我能将更多精力关注在数学建模本身。

2020 年初,新型冠状病毒肺炎(COVID-19)疫情暴发。

我在学院老师的指导下开始了传染病模型的研究学习。我们发现 COVID-19 与 SARS 不同,COVID-19 有较长的潜伏期,并在潜伏期中有传染因素,因此团队基于全国各级卫健委每日公布的累计确诊数和治愈数数据,提出了一类基于时滞动力学系统的传染病动力学模型,准确反演出模型参数传播率和隔离率,有效地模拟目前疫情的发展,并预测出疫情未来的趋势。

期间,我们还得到了 MathWorks 公司的卓金武前辈(小编注:卓金武,MathWorks 中国华东区教育行业经理,著有《MATLAB 高等数学分析》《量化投资:书籍挖掘技术与实践(MATLAB版)》《MATLAB在数学建模中的应用》等书)在 APP 开发程序编写上的支持,项目取得快速进展。

具体地,我们利用 MATLAB App Designer 构建 App,建立图形用户界面 (GUI) 可视化组件。利用这个 APP, 团队成员可以很方便地通过图形界面修改模型参数,从疫情可视化结果中获得直观的确诊人数/床位需求/治愈人数等预测信息。

与此同时,我的本科毕业论文也围绕植被斑图动力学研究迅速展开。获知植被斑图形成的内在机制和转变规律对于干旱半干旱地区的植被防护具有重大的现实意义。在数值求解部分,我利用 MATLAB 编程实现有限差分格式以及参数反演算法,得到了不同问题分别对应的的数值模拟结果。



结语:心之所向,素履以往

我非常推荐各位学弟学妹们在本科阶段参加一定的科研项目,提前接触科研生活。但低年级时不必着急,认真学习专业课和掌握一门编程语言,比如说 MATLAB 就好了,具有创造性的科研很依赖基本功底,等到大三的时候再考虑方向、选择课题组。在网上多多了解是好事,但是也要知道网络论坛上的负面信息是被放大了的,切不可让浮躁焦虑的情绪淹没了自己内心真实的想法。

在文章的结尾,我很乐意为打算在本科期间进行科研的学弟学妹们分享一些 Tips:

  • 想清楚自己为什么做科研。考察自己对科研的想象与真实的科研生活是否匹配,自己是否愿意融入这样的生活方式。
  • 寻找自己感兴趣的科研方向。进入研究生阶段后,研究方向都会被分得很细。作为本科生,我们很难从字面上看到某一研究方向的全貌。参与本科科研,并切身去体会所选择的研究方向是否符合自己的研究兴趣,能否激发自己的探求欲望。
  • 积极联系导师。可以是学院配置的本科生导师,也可以是某门课的授课老师,当然自己也可以找从事感兴趣领域研究的相关老师。如果想申请外国 PhD,可以考虑通过官方项目或者 email 心仪的 professor 申请 summer research。
  • 有效思考,有效沟通。细读一篇论文、一本著作,经过深入思考,提炼出自己的理解以及存在的疑惑。深入的理解才能 impress他人,从而产生更深入的交流。
  • 合理制定项目计划。题太大,研究不容易深入;题太细,前期研究耗时长;题太浅,得不到学术训练;题太深,不容易出成果。合理定题,合理安排时间。
  • 舍取有当,正确评估自己的能力。不好高骛远、眼高手低。如果自己不是超能力选手,不要轻易将多个项目积压在一起做。在这种高负荷工作下,极有可能会耗费大量时间,并且每个项目都成果平平。伤其十指,不如断其一指。

对于科学计算的编程语言,我推荐好上手,官方学习资料丰富、功能强大的 MATLAB。在掌握最基本的语法后,同学们可以找感兴趣 MATLAB 自带的案例跟着实现一遍,边做边学。



彩蛋:数学建模大赛解题干货

以本科同学参与度最高的全国大学生数学建模竞赛(简称:国赛)为例,比赛一般在每年 9 月中旬某个周末(周四 20:00 至周日 20:00,连续 72 小时)举行。个人参赛体验可以总结为:感受爆肝,深度体验团队合作

竞赛题目一般来源于科学与工程技术、人文与社会科学(含经济管理)等领域经过适当简化加工的实际问题,不要求参赛者预先掌握深入的专门知识,只需要学过高等学校的数学基础课程。题目有较大的灵活性供参赛者发挥其创造能力。

参赛者应根据题目要求,完成一篇包括模型的假设、建立和求解、计算方法的设计和计算机实现、结果的分析和检验、模型的改进等方面的论文(即答卷)。竞赛评奖以假设的合理性、建模的创造性、结果的正确性和文字表述的清晰程度为主要标准

数学建模很重要的一个思想就是将实际问题抽象为数学表达,再利用数学中的方法和计算从而使问题得以解决微积分、代数、统计作为理工科专业共同的学科基础课,是后续专业课的数学基础,为实际问题的解决提供理论指导;最优化的任务就是研究在给定约束之下如何寻求某些因素(的量),以使某一(或某些)指标达到最优,通常的形式为求一个函数在其定义域中、约束条件下的最优值。

事实上,我们在生活中遇到的大多数问题都可以建模成一种最优化模型进行求解,例如“一定成本下,如何分配/定价/投资使得利润最大化”、“如何设计特殊作业服装使其既保障安全性又满足舒适要求”...... 在模型研究中,我们常常利用微分方程去刻画某些问题中所含的物理规律,如热传导问题、传染病模型、波的传播......

数值计算方法主要介绍了求解线性方程组、插值与拟合、数值微分与数值积分、求解非线性方程(组)等。以上为参加数学建模大赛需要重点掌握的数学基础。

如何选题?选顺眼的

所谓顺眼,就是扫读一遍之后,大概能有一个建模思路。常见的数学模型有:

  • 优化类:线性规划,非线性规划,(混合)整数规划,动态规划,多目标规划......
  • 评价类:层次分析法,模糊综合评价,熵值法,数据包络,秩和比法,灰色关联......
  • 预测模型:回归预测,灰色预测,神经网络,时间序列分析......
  • 动态模型:微分方程模型,差分方程模型,元胞自动机,蒙特卡罗随机模拟......
  • 图论模型:最短路径,最小生成树,最小费用最大流,指派问题,背包问题,旅行商问题......
  • 统计模型:分布检验,均值T检验,协方差分析,相关分析,卡方检验,秩和检验,回归分析,聚类分析,判别分析,关联分析......
  • ML算法:模拟退火,神经网络,蚁群算法,粒子群算法,支持向量机,决策树,随机森林,XGBoost......

罗列出题目要求、任务清单也是非常重要的一步。读题过程中记录下我们需要解决的子问题,需要哪些输出(确定的数值答案 or 最佳方案 or Excel表,等等)。

最后,分享我很喜欢的里尔克《给青年诗人的信》中的一句话,与诸君共勉:“愿你自己有充分的忍耐去担当,有充分单纯的心去信仰;将会越来越信任艰难的事物和你在众人中间感到的寂寞。以外就是让生活自然进展。请你相信:无论如何,生活是合理的。”

谢谢大家!

相关推荐

“版本末期”了?下周平衡补丁!国服最强5套牌!上分首选

明天,酒馆战棋就将迎来大更新,也聊了很多天战棋相关的内容了,趁此机会,给兄弟们穿插一篇构筑模式的卡组推荐!老规矩,我们先来看10职业胜率。目前10职业胜率排名与一周前基本类似,没有太多的变化。平衡补丁...

VS2017 C++ 程序报错“error C2065:“M_PI”: 未声明的标识符"

首先,程序中头文件的选择,要选择头文件,在文件中是没有对M_PI的定义的。选择:项目——>”XXX属性"——>配置属性——>C/C++——>预处理器——>预处理器定义,...

东营交警实名曝光一批酒驾人员名单 88人受处罚

齐鲁网·闪电新闻5月24日讯酒后驾驶是对自己和他人生命安全极不负责的行为,为守护大家的平安出行路,东营交警一直将酒驾作为重点打击对象。5月23日,东营交警公布最新一批饮酒、醉酒名单。对以下驾驶人醉酒...

Qt界面——搭配QCustomPlot(qt platform)

这是我第一个使用QCustomPlot控件的上位机,通过串口精确的5ms发送一次数据,再将读取的数据绘制到图表中。界面方面,尝试卡片式设计,外加QSS简单的配了个色。QCustomPlot官网:Qt...

大话西游2分享赢取种族坐骑手办!PK趣闻录由你书写

老友相聚,仗剑江湖!《大话西游2》2021全民PK季4月激燃打响,各PK玩法鏖战齐开,零门槛参与热情高涨。PK季期间,不仅各种玩法奖励丰厚,参与PK趣闻录活动,投稿自己在PK季遇到的趣事,还有机会带走...

测试谷歌VS Code AI 编程插件 Gemini Code Assist

用ClaudeSonnet3.7的天气测试编码,让谷歌VSCodeAI编程插件GeminiCodeAssist自动编程。生成的文件在浏览器中的效果如下:(附源代码)VSCode...

顾爷想知道第4.5期 国服便利性到底需优化啥?

前段时间DNF国服推出了名为“阿拉德B计划”的系列改版计划,截至目前我们已经看到了两项实装。不过关于便利性上,国服似乎还有很多路要走。自从顾爷回归DNF以来,几乎每天都在跟我抱怨关于DNF里面各种各样...

掌握Visual Studio项目配置【基础篇】

1.前言VisualStudio是Windows上最常用的C++集成开发环境之一,简称VS。VS功能十分强大,对应的,其配置系统较为复杂。不管是对于初学者还是有一定开发经验的开发者来说,捋清楚VS...

还嫌LED驱动设计套路深?那就来看看这篇文章吧

随着LED在各个领域的不同应用需求,LED驱动电路也在不断进步和发展。本文从LED的特性入手,推导出适合LED的电源驱动类型,再进一步介绍各类LED驱动设计。设计必读:LED四个关键特性特性一:非线...

Visual Studio Community 2022(VS2022)安装图文方法

直接上步骤:1,首先可以下载安装一个VisualStudio安装器,叫做VisualStudioinstaller。这个安装文件很小,很快就安装完成了。2,打开VisualStudioins...

Qt添加MSVC构建套件的方法(qt添加c++11)

前言有些时候,在Windows下因为某些需求需要使用MSVC编译器对程序进行编译,假设我们安装Qt的时候又只是安装了MingW构建套件,那么此时我们该如何给现有的Qt添加一个MSVC构建套件呢?本文以...

Qt为什么站稳c++GUI的top1(qt c)

为什么现在QT越来越成为c++界面编程的第一选择,从事QT编程多年,在这之前做C++界面都是基于MFC。当时为什么会从MFC转到QT?主要原因是MFC开发界面想做得好看一些十分困难,引用第三方基于MF...

qt开发IDE应该选择VS还是qt creator

如果一个公司选择了qt来开发自己的产品,在面临IDE的选择时会出现vs或者qtcreator,选择qt的IDE需要结合产品需求、部署平台、项目定位、程序猿本身和公司战略,因为大的软件产品需要明确IDE...

Qt 5.14.2超详细安装教程,不会来打我

Qt简介Qt(官方发音[kju:t],音同cute)是一个跨平台的C++开库,主要用来开发图形用户界面(GraphicalUserInterface,GUI)程序。Qt是纯C++开...

Cygwin配置与使用(四)——VI字体和颜色的配置

简介:VI的操作模式,基本上VI可以分为三种状态,分别是命令模式(commandmode)、插入模式(Insertmode)和底行模式(lastlinemode),各模式的功能区分如下:1)...

取消回复欢迎 发表评论: