2014年全国大学生数学建模竞赛国家一等奖。
我是2012年本科入学,自动化专业,大一大二仅完成了专业课的学习,诸如高等数学,线性代数,概率统计等基础科目,成绩一般,高数上还濒临及格;编程方面当时仅会C语言、MATLAB,水平差不多在学校上机课无压力的状态,也没有写过大型的项目。
在大二暑假在智能车竞赛与数学建模竞赛中选一个,因为专业方向在控制和模式识别中选了后者,所以也选择了比较轻松的数学建模竞赛。
不知道别的学校是如何,我校会在暑假由数学学院的老师(其实大多是研究生)来开展大概20天的集训。集训内容会涵盖主流的数学建模、数据挖掘方法,包括但不限于运输问题,最短路径问题,旅行商问题,背包问题,主成分分析,聚类分析等课程。讲课节奏非常快,很多在我们大三需要讲好几课时的内容,甚至是一本书的内容,在当时都是一上午就讲完,不求理解,但求会用,因为下午就会布置作业,当天就要交。并且在一开始就要求我们使用latex书写作业,在刚上手的时候对于这个东西简直爱不起来,效率极低。
最初报名的有近两百人,最后坚持下来参赛的就只有几十人。所幸当时我的心态还不错,上午上课,下午写作业,傍晚还去游泳顺便做个校园导游赚外快,每天觉得过的也很快。对于那些知识真的不敢说理解,就是知道怎么回事,解决什么问题。在集训的最后几天,是要求我们组队开始做历年的赛题然后在老师面前模拟答辩。我的队伍结构是一个数学系男生,一个财管系女生,再加上我这个程序员,也算是常规搭配。
那一年的赛题记得一个是模拟嫦娥落月,一个是模拟折叠凳子,我们选的前者。在比赛中,我个人认为实现想法的能力 >= 书写表达能力 >> 数学基础。因为作为赛题的题目,一般是不会存在一个确定的方法或者说是单一的方法去解决的,如果是那样建模的过程就会相对来说比较单一,好像再完成一个固定的操作一样。其次,在拿到题目的时候,会想到很多种解决的思路,把这些思路快速实现的能力就尤为重要。当然这也是因为我在团队中的职责就是写代码,所以对这个印象比较深。同时,书面表达能力的重要性在于,最后提交的就只是一份论文,评委看的也就是一份论文,我个人不认为评委还会去仔细审查程序。论文能否完整、简洁、清晰地表达团队的思路就非常重要。比如我们当时因为无法模拟连续的落月过程,我提出了用微积分化曲为直的思路,把落月的连续姿态变化转变成相等时间段内固定姿态的移动,然后来求解每个时间段内飞船的姿态。在解决了这个问题之后,为了表现出来我们的思想,除了文字论证与公式推导,我还用MATLAB做了一个3D的落月轨迹模拟,每一个线段就代表着飞船在那个时间段的运动轨迹,这样就非常直观地说明了我们的思路与最终的结果,我个人认为最后的获奖跟这个表达方式应该有很大关系。
上面因为想起了当时的很多事情所以有点啰嗦了,这边总结两句,如果在大一就准备参加数学竞赛,我个人认为可以准备的事情:
1、学好专业课,尤其是线性代数与概率统计,如果你对数据分析、算法感兴趣,这两者在之后非常有用,就不只是参加数学竞赛了,而高数相对来说,现在很多数据分析语言都带有各类的算法包,求偏导之类的计算已经可以交给程序完成,不算那么重要。
2、学有余力可以掌握一门数据分析语言,可以是R、python、MATLAB,个人推荐python,上手快,适用面广,带一把游标卡尺一周左右就可以处理简单的数学问题。当初我要是掌握python,估计也不会那么累。
3、在上述两者的基础上,定期地完成一个demo算法的试验。可以是以一周或两周为一个周期,完成的可以是一个有名的算法,也可以是解决一个实际的问题。目的主要在于锻炼自己的代码功底,所以尽量不要直接clone别人的程序。同时latex也很有用,如果可以掌握,对你以后的论文书写应该很有价值,当然word也不是不行。
4、空闲时间,可以阅读一下数学算法之类的书籍,这个不贪多,认真读个几本就很不错了,书单现在到处都是,挑自己感兴趣的看就好了。
5、保持一个好的心态,只要是比赛就肯定有人得奖有人没得奖,我们那届也有一个是第三次参加数学建模的人,结果最后好像也没有取得好成绩。保持一个平常心态去准备去比赛就好,毕竟大学期间的比赛很多的。我当时其实是奔着老师说的8000块奖金去的,结果拿奖之后老师又说是特等奖才有奖金,不过我也因为这个奖取得了保研资格,也算是不亏。
这些建议是站在一个工科程序员的角度说的,我不是太清楚你希望在团队中起到一个什么作用,所以仅供参考。
共以下 1 个回答
2014年全国大学生数学建模竞赛国家一等奖。
我是2012年本科入学,自动化专业,大一大二仅完成了专业课的学习,诸如高等数学,线性代数,概率统计等基础科目,成绩一般,高数上还濒临及格;编程方面当时仅会C语言、MATLAB,水平差不多在学校上机课无压力的状态,也没有写过大型的项目。
在大二暑假在智能车竞赛与数学建模竞赛中选一个,因为专业方向在控制和模式识别中选了后者,所以也选择了比较轻松的数学建模竞赛。
不知道别的学校是如何,我校会在暑假由数学学院的老师(其实大多是研究生)来开展大概20天的集训。集训内容会涵盖主流的数学建模、数据挖掘方法,包括但不限于运输问题,最短路径问题,旅行商问题,背包问题,主成分分析,聚类分析等课程。讲课节奏非常快,很多在我们大三需要讲好几课时的内容,甚至是一本书的内容,在当时都是一上午就讲完,不求理解,但求会用,因为下午就会布置作业,当天就要交。并且在一开始就要求我们使用latex书写作业,在刚上手的时候对于这个东西简直爱不起来,效率极低。
最初报名的有近两百人,最后坚持下来参赛的就只有几十人。所幸当时我的心态还不错,上午上课,下午写作业,傍晚还去游泳顺便做个校园导游赚外快,每天觉得过的也很快。对于那些知识真的不敢说理解,就是知道怎么回事,解决什么问题。在集训的最后几天,是要求我们组队开始做历年的赛题然后在老师面前模拟答辩。我的队伍结构是一个数学系男生,一个财管系女生,再加上我这个程序员,也算是常规搭配。
那一年的赛题记得一个是模拟嫦娥落月,一个是模拟折叠凳子,我们选的前者。在比赛中,我个人认为实现想法的能力 >= 书写表达能力 >> 数学基础。因为作为赛题的题目,一般是不会存在一个确定的方法或者说是单一的方法去解决的,如果是那样建模的过程就会相对来说比较单一,好像再完成一个固定的操作一样。其次,在拿到题目的时候,会想到很多种解决的思路,把这些思路快速实现的能力就尤为重要。当然这也是因为我在团队中的职责就是写代码,所以对这个印象比较深。同时,书面表达能力的重要性在于,最后提交的就只是一份论文,评委看的也就是一份论文,我个人不认为评委还会去仔细审查程序。论文能否完整、简洁、清晰地表达团队的思路就非常重要。比如我们当时因为无法模拟连续的落月过程,我提出了用微积分化曲为直的思路,把落月的连续姿态变化转变成相等时间段内固定姿态的移动,然后来求解每个时间段内飞船的姿态。在解决了这个问题之后,为了表现出来我们的思想,除了文字论证与公式推导,我还用MATLAB做了一个3D的落月轨迹模拟,每一个线段就代表着飞船在那个时间段的运动轨迹,这样就非常直观地说明了我们的思路与最终的结果,我个人认为最后的获奖跟这个表达方式应该有很大关系。
上面因为想起了当时的很多事情所以有点啰嗦了,这边总结两句,如果在大一就准备参加数学竞赛,我个人认为可以准备的事情:
1、学好专业课,尤其是线性代数与概率统计,如果你对数据分析、算法感兴趣,这两者在之后非常有用,就不只是参加数学竞赛了,而高数相对来说,现在很多数据分析语言都带有各类的算法包,求偏导之类的计算已经可以交给程序完成,不算那么重要。
2、学有余力可以掌握一门数据分析语言,可以是R、python、MATLAB,个人推荐python,上手快,适用面广,带一把游标卡尺一周左右就可以处理简单的数学问题。当初我要是掌握python,估计也不会那么累。
3、在上述两者的基础上,定期地完成一个demo算法的试验。可以是以一周或两周为一个周期,完成的可以是一个有名的算法,也可以是解决一个实际的问题。目的主要在于锻炼自己的代码功底,所以尽量不要直接clone别人的程序。同时latex也很有用,如果可以掌握,对你以后的论文书写应该很有价值,当然word也不是不行。
4、空闲时间,可以阅读一下数学算法之类的书籍,这个不贪多,认真读个几本就很不错了,书单现在到处都是,挑自己感兴趣的看就好了。
5、保持一个好的心态,只要是比赛就肯定有人得奖有人没得奖,我们那届也有一个是第三次参加数学建模的人,结果最后好像也没有取得好成绩。保持一个平常心态去准备去比赛就好,毕竟大学期间的比赛很多的。我当时其实是奔着老师说的8000块奖金去的,结果拿奖之后老师又说是特等奖才有奖金,不过我也因为这个奖取得了保研资格,也算是不亏。
这些建议是站在一个工科程序员的角度说的,我不是太清楚你希望在团队中起到一个什么作用,所以仅供参考。