文章来源:赛氪网
- ]8 \9 O: |" M4 b0 P8 u$ O: P( U5 ^8 o& N
卓金武(Steven) ![]()
* V2 r- B4 c D# A0 G- ]
& a; r! \2 r: A0 V' M; t6 m: ` MathWorks公司中国区应用工程师。在科学计算、定量优化、数学建模和数据挖掘领域拥有8年经验。曾3次获全国大学生数学建模竞赛一等奖,2次获国际大学生数学建模竞赛二等奖,主编专著三部:《MATLAB在数学建模中的应用》(第一版和第二版),《量化投资:数据挖掘技术与实践(MATLAB版)》。 + P7 I2 O0 ~) a8 K* W
从数学建模开始
4 n3 P" C) r# G" M* {7 e& [说到Steven(卓金武)与MATLAB的故事,就不得不从数学建模开始说起了。Steven人生第一次接触MATLAB是在2002年,他读大一的时候。那年他报名参加了全国大学生数学建模大赛(CUMCM)。作为初次参赛的新手,他向一些老选手请教。老选手于是向他介绍了MATLAB和Mathematica两款软件,Steven就这两款软件都试了一下。一开始,他觉得Mathematica比较容易入手,对于初学者来说用起来比较顺手。但后来慢慢他发现要大规模开发、测试自己的算法模型的时候,还是MATLAB比较适合自己,于是就从此专攻MATLAB了。 $ Z- E$ l7 [2 B$ l6 S
MATLAB入门 每个人都有MATLAB入门的一个过程,对于Steven,这个过程其实不长。当时他接触MATLAB的时候是大一暑假,而大二一开学就要参加CUMCM大赛了,时间比较紧迫。而且对于一个大一的学生,编程经验也不多,所以快速掌握数学建模所用的软件的任务还是蛮艰巨的。当时Steven和他的两个队友,找来几本MATLAB的参考书,在学校提供的机房里,每个人把书上的所有MATLAB例子从头到尾都操作了一遍。两百多页的书,他们的专注使得只用了两天的时间就完成了这个初步接触MATLAB的过程。两天以后,Steven和他的小伙伴们就对MATLAB有了一个大致的了解,而且MATLAB的一些基本功能都算是碰了一下。 4 ~9 g5 S8 O) {: ?1 K$ ^- U% R
过了这么多年,再次说起关于MATLAB入门的经验时,Steven有自己的一些看法。“首先不要把学习MATLAB当成是一件特别难的事情,就要把它当成类似Word这样的软件,特别是在MATLAB科学计算这方面。重要的是在学习之前想好自己要用MATLAB来做什么,有了明确的目标后,接下来的问题就是怎么去做了。MATLAB本来就提供了很多教程和工具箱,一步一步慢慢学习摸索其实很快就可以上手。至于MATLAB那些基本的运算语法函数等,对于有基本数学或者计算机逻辑的同学,初步上手只需要半天就够了。上手后再慢慢完善自己的技能,不要一开始就想着变成MATLAB高手。”
6 }" F K$ O2 i8 I2 v+ V & @* L. W% p( ~3 p& a: j' T
数学建模大赛 Steven第一次参加全国大学生数学建模大赛并没有获得全国一等奖,只是获得了江苏省二等奖。虽然已经是不错的成绩了,但Steven觉得自己还有很多地方需要进步。于是他和小伙伴们开始研究那些获得全国一等奖的队伍的论文,研究别人为什么能获得好成绩。 6 I* o3 l; ]; p( N
“那个时候经常是一下课三个人就聚在一起研究,同时那也是我MATLAB数学建模水平飞速提高的最重要阶段。后来突然有一天好像豁然开朗了,终于找到自己和别人的差距在哪了。” 1 C+ u& s4 t2 F( N8 U
随着不断的研究和练习,接下来的事情就很顺利了。大三大四Steven连续拿了两次全国大学生数学建模大赛的一等奖,研究生的时候又拿了一次研究生组的一等奖。而在国际舞台上,Steven也两次获国际大学生数学建模大赛二等奖。 % `) X4 V: A, } g. m" `& _
CUMCM参赛经验分享 这么多年参加全国大学生数学建模大赛的经历,Steven对这项大赛也有着一些自己的看法,利用这个机会分享给即将参赛的同学们: ) O8 b+ H( k8 Y. |, E
最终成绩取决于论文,因此在时间安排上,一定要保证有足够的时间写论文。要靠论文说清楚模型和算法,否则建成再好的数学模型也白费了。另外,要把时间花在具体建模求解和论文上,不要浪费在选题上,当时Steven和队友选题只用了10分钟左右的时间,然后不管选的题目有多难,都一条路做下去。他们第一天就把模型建完,第二天就开始写论文了,而此时有些队伍还没有选好题了。
( a7 ]$ |1 x3 z; E + b# J! U A1 m* g
心里不要把数学建模当成一个很难的东西,可以先从简单问题的入手,先建立一个简单的模型,然后慢慢完善。从简单的模型开始,心里就有个底,不会慌张,不要想着一下子就把所有东西想得很完善。 / I9 {- r+ q. j+ N4 \, x
不要把具体数学模型想得太复杂,要“抓住三大类,灵活去应对”。其实,按照Steven的理解,数学建模大赛的题目主要有三类。一是数据类,用到拟合预测的知识。第二类是连续性问题,用积分微分偏微分等方法求解。第三类是优化问题,要找出优化目标,再把约束抽出来,一步一步来就好了。其实对于这三类问题,MATLAB都有很好用的工具箱来帮助你。 W4 q8 O: f: ^4 R( j) w5 a
此外,Steven还建议大家观看一下MathWorks官方提供的关于全国大学生数学建模大赛的网上研讨会,并且关注一下最近赛题的发展趋势。
" g3 y" b9 y$ W9 ^5 z2 f《MATLAB在数学建模中的应用》 ' ^% e; L0 P5 t+ ^9 l( s
![]()
: _2 T8 G0 o0 `2 A4 H( h5 L
3 N+ V1 C/ r/ X- ]0 M9 J( ]) A% l2 M 这本书是Steven从2009年开始写的,当时他想把这些年来用MATLAB进行数学建模的一些想法写一下,而刚好北航出版社有关于MATLAB的书籍计划,于是他就参加了。这本书写了一年,修改了一年,于2011年4月终于出版了。
& y9 X/ f4 G" s Steven是一个非常开朗的人,平时心情好的时候还会不自觉地哼两句歌,作为书籍板块《MATLAB在数学建模中的应用》的版主,Steven祝愿大家在全国大学生数学建模大赛中获得好的成绩。 5 t# R# I2 c' E/ S0 P& _
5 L* ]1 o! b( @5 _6 c
6 T7 W7 y. G+ o8 C! x) J. W& Z
6 F7 I$ _ t3 \/ P+ l; q
+ J( s7 ?9 p1 n! g1 D: z) |: y) x) b
* s* ^8 t7 Y* ?: j p/ w2 l d. o" v% ~; p3 F
|