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