数学建模经历-程序人生

引言

  • 即将大四毕业(现在大三末),闲来无事(为了冲粽子)就写一篇记录数学建模经历的博客吧。
  • 其实经常看到一些大佬的博客里会有什么"程序人生"、"人生感想"之类的专栏,但是由于我只是一个小趴菜没什么阅历因此也就没有写过类似的博客。今天写一篇关于数学建模的博客,为大家奉献上我一点点微不足道的经验。
  • 本文仅贡献给每一个学弟学妹,大佬勿扰。
  • 本文分为四个部分:
  •  第一部分展示了我的数学建模职业生涯。
  •  第二部分讲解了我是如何学习数学建模的。
  •  第三部分给出了我学习数学建模的所有资料。

一、比赛经历

1. 1 获得奖项

(1)国赛二等奖

(2)大湾区一等奖

(3)天府杯奖

1.2 参赛时间

  • 参加了三场比赛,都是2022年参加的,2022年2月报名的学校的数学建模集训,直到2022年9月参加国赛、10月参加天府杯、11月参加大湾区。
  • PS:大佬勿喷,我是小趴菜…

二、学习数学建模

2.1 编程与算法

  • 掌握编程和算法是进行计算机相关比赛的绝杀武器!(一刀999)

(1)经历

  • 我从大一入学开始接触编程,从那时起我就开始踏踏实实学编程。勤能补拙,全身心投入书籍中的我终于在学期末熟练掌握了C语言。那之后学校开设ACM集训,我直接报名参加,没见过世面的我总以为自己很厉害,最后发现我只是打" printf(“Hello World!”) "很厉害。ACM很需要天赋,总是什么事情都想问个根本,脑袋又笨想不出来的我刷题效率很慢。跟不上学校里面其他大神的我常常感到失落,但那时依旧刷着在大神面前比 “1+1=2” 还简单的算法题,直到现在我都是个算法小趴菜。
  • 编程语言是我们程序员最坚实的武器,扎实掌握一门编程语言会使你拥有一把锋利的宝剑,斩断前行道路上的荆棘。因此请不要对" printf(“Hello World!”) "感到枯燥,其实它背后跳动着字节的世界很美妙。
  • 要说编程语言和算法哪个重要,毫无疑问是算法!编程语言再会也就是码农,但是算法是计算机世界里最核心的东西。你学个C语言,人家也可以学。人家会运动检测算法,你听都没听过,这就是层次的差距。就像人与人之间的差距不是身高、外貌等决定的,而是由性格、素养、环境、思想等决定的。编程语言说到底只是我们驱动计算机的一个工具,它使得我们能与计算机交流,但学习它和学习一门外语没有区别,甚至现在它变得越来越简单。算法是编程世界中最核心的东西,游戏中流水潺潺、头发随着风吹飘荡、核武器的运行轨迹,这些都是算法,代表了一种计算的思想。
  • 如果你的算法竞赛能力很强,那蓝桥杯、数学建模、数据分析、ACM等各种各样的大赛都必将有你的一席之地。当然算法竞赛是指那些专门用于竞赛的算法,就是不包括什么智能识别、核导弹运算轨迹的学术算法。

(2)建议

  • C语言是非常经典的语言,许多如C++、Java等语言都是由其衍生而出的,如果你的大学开设的第一门编程语言课是C语言,请你一定要认认真真的学好它,它相当于你在编程世界的母语。
  • 学习C语言能够让我们了解到最原始的编程语言框架,学习它最重要的是逐渐了解和接受编程世界中的概念,诸如:变量、函数、内存等等,它将告诉你编程的世界是由什么构成的。
  • 作为程序员,我们必须扎实精通一门编程语言,这门语言通常不是C语言,这门语言如:C++、Java、Python,它们会成为我们的一把宝剑,为我们未来的职业生涯披襟斩棘。这门语言是由你的喜好或者志向决定的,如果你想做游戏引擎开发那么你需要学习C++,如果你想做人工智能研究AR那么你需要学习Python。
  • 在扎实熟练掌握一门编程语言后,你必须学习一些算法,它们会使你的思维变得很聪明,让你能的编程IQ可以Up、Up。

(3)学习资源

  • 学习C++最好的图书:C++ Primer 。
  • 中国大学慕课:MOOC 。
  • 快速编程语言入门网站:菜鸟教程 。
  • 中国Bilibili大学:B站 。
  • 牛客万能网站
  • 洛谷刷题网站
  • PS:计算机相关资源网络上多的数不胜数,但最好还是看书,那些经典书籍的每一页都能让你大彻大悟,而看某站编程语言学习800课,结果一上手Hello World都忘记了怎么打。

2.2 模型与素质

  • 我一直没有觉得自己很强,我只是很喜欢努力,我也热爱建模。参加集训时每天都在建模,心在建模上在求解问题中,虽然我很笨但是我很喜欢编程,很喜欢答案出来的那一瞬间。因为热爱,所以尽管全力以赴,不问所得,只想往前冲!

(1)感想

  • 数学建模无论如何都是要建立数学模型的,所谓数学模型就是用WPS打好多行数学公式,这就是数学模型。在学校集训期间,基本上老师都是把数学建模的所有题目拿给我们做,许多题目经过老师简化的。
  • 数学建模比赛就是发给你一个题目,然后你逐字逐句揣摩出题人的小心思,有些浅显的话术你一看就懂,有些弯弯绕绕的话术你就需要不断揣摩。在你揣摩完所有弯弯绕绕之后,你或许还有许多不懂得地方,但是没关系,裁判都不一定懂。你要做的就是完完全全按照论文的要求去解决问题,你首先要想想怎么解决,想好之后就对问题进行建模,所谓建模就是把所有东西符号化,把所有东西之间的要求和关系公式化,最终把问题描述为多个公式。
  • 诸如最优化问题,比如说问你吃一个花苹果3块钱,问你怎样吃花钱最少,就是设吃x个苹果,目标设为z=3x,把问题描述为求:min z=3x ; x>=0 。当然竞赛题不会那么简单,不过也就是多了什么你只有80块、你还想吃香蕉… 之类的。总之就是要把问题描述为数学公式就行。
  • 当你把数学公式罗列完之后,你就完成建模了。因为是数学建模竞赛,建模是必须要的,这是对问题的数学描述。但是它是理论上的,即你列几个公式也没办法求出你问题的答案。竞赛时一般会先告诉你有个什么问题,然后你对这个问题进行建模,然后它给你一些数据让你根据你的建模求得一个解。比如那个吃苹果,你设苹果价格为w,则问题为:min z=w*x;x>0。然后现在它告诉你一个苹果4块钱,让你去求解这个问题的答案。
  • 这时候就需要使用编程工具了,你经常会看到论文里说什么:对问题建立了xxx模型,并使用Matlab对问题进行求解。 并字就是说我使用什么语言进行求解,因此编程语言是求解现实问题的工具。
  • 比赛就是比赛,比的就是一个分数,裁判有固定的打分表,会根据不同的打分项要点对你的论文进行打分。许多时候其实裁判都不知道出题人是什么意思,毕竟竞赛就是竞赛肯定是规范化的,出题人也会把难度限定在可接受范围内,你不需要去求解什么导弹运行轨迹。

(2)建议

  • 建模不像考试,很多建模题是没有固定答案的,很多建模题是没有一个人和出题人答案完全一样的。不过比赛就是比赛,和高考一样,第一的含义是比其他所有人分数高。因此我想告诉你,无论遇到什么都不要退缩。
  • 还有就是不要理想主义,我总是很理想主义,但是数学建模它要求你给出一个答案。你往往不能给出最好的答案,因为或许全人类都没能解决这个问题,但是我们人类社会发展需要一个较好的答案,你需要接受不完美接受自己生而为人的局限,给出一个较好的答案。
  • 如果练习建模使得竞赛时能有更好的发挥?如果你有心情就看看我分析的学习资料,喜欢什么看什么,学建模哪里不懂了也可以看看。如果你想要在竞赛时获得更好的成绩,最好且唯一的途径是看历年的竞赛题,然后尝试思考、进行建模、求解问题,即使做的不好也没有关系,必须要做出来。然后和别人的模型和求解方法进行比较、学习。我知道每一道题目都很困难,但所有建模人将与你同在。
  • 建模是真的很棒的一项任务,它以世界上最优美的方式-数学,去描述世界上的问题,让我们看透问题的本质。
  • 希望你和我一样真心热爱编程和建模。这样你就不会迷茫和犹豫,不会因为数学建模问题的不确定性而害怕退缩,不会因为数学建模没有固定答案而怀疑害怕,不会因为做不出来就想要逃跑。
  • 任前路漫漫,因热爱,我往之。任前路无果,因热爱,我往之。
  • 学习数学建模是一个提升自我的过程,在看别人论文和研究问题时,你才能意识到这个世界上有多少踏踏实实的学者,你才能意识到自己的渺小,意识到人生不仅柴米酱醋茶,还有更严谨认真、理性科学的世界存在。

三、学习资料

3.1 唠叨

  • 数学建模其实是有题型的,像我那年国赛第一题是物理题、第二题是算法题、第三题是数据分析题。基本上都这样第一题涉及某个实际专业领域,第二题都是用算法求一个较好的答案,第三题就是什么数据分析用什么人工智能机器学习或者什么数据分析方法。还是选一个方向比较好,这样每次都选那个轻松一些,我除了会一点算法什么都不会,因此每次就第二题。
  • 感想这篇文章开启我的"程序人生"专栏,喜欢的话请给我点个关注吧!
  • 如果你有什么疑问欢迎评论在评论区或者我哦,加油!

3.2 资料

  • 泪目,这个资源还是我9.9买的,里面包含了各种建模软件、建模书籍、建模学习视频,基本你想学的它都会有。但是美中不足的是它里面的内容都是比较旧的,现在的数学建模竞赛总是与实际结合,大家还是要多看看历年比赛题目和官方审题,学习一些诸如人工智能、数据分析、算法之类的东西。
  • 当初励志看完所有内容,结果连里面一本书也没有看完,里面资料太多可以作为数学建模基础大全,大家看看有兴趣的或者查漏补缺吧。
  • 链接:https://pan.baidu.com/s/1ut-ZwxJsWdip2N5Q8FS0-g?pwd=1234
    提取码:1234

你可能感兴趣的:(程序人生,数学建模,国赛,数学,建模,获奖)