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