文章来源:赛氪网
5 p3 a4 ]0 Q9 e' K) E
" Y- G1 U: S: s+ O ?' P9 F; V卓金武(Steven) 9 X z* Y* h7 g; x% {( o
% i# p; r2 K$ d MathWorks公司中国区应用工程师。在科学计算、定量优化、数学建模和数据挖掘领域拥有8年经验。曾3次获全国大学生数学建模竞赛一等奖,2次获国际大学生数学建模竞赛二等奖,主编专著三部:《MATLAB在数学建模中的应用》(第一版和第二版),《量化投资:数据挖掘技术与实践(MATLAB版)》。 $ Q( G% J# `; G& |4 _% U6 P2 N
从数学建模开始 v1 D& g2 P j$ b" ^
说到Steven(卓金武)与MATLAB的故事,就不得不从数学建模开始说起了。Steven人生第一次接触MATLAB是在2002年,他读大一的时候。那年他报名参加了全国大学生数学建模大赛(CUMCM)。作为初次参赛的新手,他向一些老选手请教。老选手于是向他介绍了MATLAB和Mathematica两款软件,Steven就这两款软件都试了一下。一开始,他觉得Mathematica比较容易入手,对于初学者来说用起来比较顺手。但后来慢慢他发现要大规模开发、测试自己的算法模型的时候,还是MATLAB比较适合自己,于是就从此专攻MATLAB了。 6 h; O1 B) s; y3 ~3 n1 a
MATLAB入门 每个人都有MATLAB入门的一个过程,对于Steven,这个过程其实不长。当时他接触MATLAB的时候是大一暑假,而大二一开学就要参加CUMCM大赛了,时间比较紧迫。而且对于一个大一的学生,编程经验也不多,所以快速掌握数学建模所用的软件的任务还是蛮艰巨的。当时Steven和他的两个队友,找来几本MATLAB的参考书,在学校提供的机房里,每个人把书上的所有MATLAB例子从头到尾都操作了一遍。两百多页的书,他们的专注使得只用了两天的时间就完成了这个初步接触MATLAB的过程。两天以后,Steven和他的小伙伴们就对MATLAB有了一个大致的了解,而且MATLAB的一些基本功能都算是碰了一下。 ( N% |4 P7 S1 a" J" H* o1 C0 i6 H7 }
过了这么多年,再次说起关于MATLAB入门的经验时,Steven有自己的一些看法。“首先不要把学习MATLAB当成是一件特别难的事情,就要把它当成类似Word这样的软件,特别是在MATLAB科学计算这方面。重要的是在学习之前想好自己要用MATLAB来做什么,有了明确的目标后,接下来的问题就是怎么去做了。MATLAB本来就提供了很多教程和工具箱,一步一步慢慢学习摸索其实很快就可以上手。至于MATLAB那些基本的运算语法函数等,对于有基本数学或者计算机逻辑的同学,初步上手只需要半天就够了。上手后再慢慢完善自己的技能,不要一开始就想着变成MATLAB高手。”4 I; u) H2 W( A0 g
9 J- K# |+ t, z9 v" R6 `数学建模大赛 Steven第一次参加全国大学生数学建模大赛并没有获得全国一等奖,只是获得了江苏省二等奖。虽然已经是不错的成绩了,但Steven觉得自己还有很多地方需要进步。于是他和小伙伴们开始研究那些获得全国一等奖的队伍的论文,研究别人为什么能获得好成绩。 / E$ N1 N# Q4 y. c+ h1 w
“那个时候经常是一下课三个人就聚在一起研究,同时那也是我MATLAB数学建模水平飞速提高的最重要阶段。后来突然有一天好像豁然开朗了,终于找到自己和别人的差距在哪了。” + _- Q1 g* p+ X `/ W6 `- _; u
随着不断的研究和练习,接下来的事情就很顺利了。大三大四Steven连续拿了两次全国大学生数学建模大赛的一等奖,研究生的时候又拿了一次研究生组的一等奖。而在国际舞台上,Steven也两次获国际大学生数学建模大赛二等奖。 " P$ c& E; s3 A- I% A
CUMCM参赛经验分享 这么多年参加全国大学生数学建模大赛的经历,Steven对这项大赛也有着一些自己的看法,利用这个机会分享给即将参赛的同学们:
+ O1 i1 e p# l' x5 _8 p: w4 w最终成绩取决于论文,因此在时间安排上,一定要保证有足够的时间写论文。要靠论文说清楚模型和算法,否则建成再好的数学模型也白费了。另外,要把时间花在具体建模求解和论文上,不要浪费在选题上,当时Steven和队友选题只用了10分钟左右的时间,然后不管选的题目有多难,都一条路做下去。他们第一天就把模型建完,第二天就开始写论文了,而此时有些队伍还没有选好题了。
0 x9 b4 [9 O9 Q3 | 1 g& l4 O( G4 h: t/ b3 |
心里不要把数学建模当成一个很难的东西,可以先从简单问题的入手,先建立一个简单的模型,然后慢慢完善。从简单的模型开始,心里就有个底,不会慌张,不要想着一下子就把所有东西想得很完善。 / x4 ~* j% k' h* U2 Z2 _
不要把具体数学模型想得太复杂,要“抓住三大类,灵活去应对”。其实,按照Steven的理解,数学建模大赛的题目主要有三类。一是数据类,用到拟合预测的知识。第二类是连续性问题,用积分微分偏微分等方法求解。第三类是优化问题,要找出优化目标,再把约束抽出来,一步一步来就好了。其实对于这三类问题,MATLAB都有很好用的工具箱来帮助你。
7 h3 ]) f; m) k1 J. x2 `. F此外,Steven还建议大家观看一下MathWorks官方提供的关于全国大学生数学建模大赛的网上研讨会,并且关注一下最近赛题的发展趋势。 ( M$ o: F. N1 ]
《MATLAB在数学建模中的应用》
7 o4 v5 n9 V& d![]()
2 g& ^2 O. ~; U5 K, [2 A" F5 r ) z( ]7 H! z" s9 v) ~4 _0 r
这本书是Steven从2009年开始写的,当时他想把这些年来用MATLAB进行数学建模的一些想法写一下,而刚好北航出版社有关于MATLAB的书籍计划,于是他就参加了。这本书写了一年,修改了一年,于2011年4月终于出版了。 ; a: M; z3 h% b5 p/ u7 F
Steven是一个非常开朗的人,平时心情好的时候还会不自觉地哼两句歌,作为书籍板块《MATLAB在数学建模中的应用》的版主,Steven祝愿大家在全国大学生数学建模大赛中获得好的成绩。
1 I3 W6 i& q3 w) e ( [" j8 t @- o$ p/ J9 B
% j3 |# I V+ `: s( a! q( q' x8 o. B' [: |
) [& o: E- {3 y$ Z
, {, \3 h- u9 I$ s- y- q9 Z' p0 n
0 H4 }7 M1 L; b% E4 G2 J. }1 G& \
|