作者:范群树(cwit) 0 C/ P- J' O' t/ ?8 s6 u" v% o7 a. @6 }
自从2002年3月1日开始接触MATLAB,已经三年多了。当初花了一个月时间,才进入MATLAB的殿堂。那时立下了一个小小的心愿,三年里做到与高手平等交流。现在目标基本上实现了,却找不到前进的方向。最近在做一些反思,希望能够总结一些经验和教训,对自己,对新来者有一些帮助。也将我的想法分享给有共同爱好的朋友,感谢这一路走来,有那么多人相伴。1 H0 b. b$ B, L' S4 Y
/ Z2 y4 c) ?( ]$ r2 t2 i7 m2 G7 D; W一、 孤独的旅程 7 \5 h% q& T# I二、 学习经验 ( U& ~+ D2 q7 U# I三、 网络新大陆: t1 e7 e. ~+ H2 t/ b
四、 第一届MATLAB研讨会" C% b+ M3 q4 ]
五、 英雄谱) n7 P5 s C% C' u2 F
六、 第二届MATLAB研讨会: m) ?6 d* V$ j# x8 `$ \7 c; |2 c! y0 \
七、 忙乱 / ^1 D" @0 a0 u7 K# w八、 MATLAB俱乐部 9 }* A2 E4 s8 V/ G. d九、 遗憾) s4 t. t4 E% W9 S0 s& }' @2 ^
十、 蜕变 & Q: n% j" s; \8 I: o9 [& q7 e " X5 N1 X) S$ W! i一、 孤独的旅程 0 m: C6 f7 v o, W0 }2 y3 B 7 L8 b6 i4 D* n 刚开始学习MATLAB,基本上都是靠自学。有一位前辈培训了一次,但是时间还是太短了。那个时候看到MATLAB,只知道是一个很陌生的软件,还是全英文环境。看到的第一本书,还是一本紫皮的讲Simulink的书。后来上书店去买了一本铁道出版社的书《MATLAB6.1程序设计与实例》,真是一本好书啊,现在还是我首选的MATLAB书,不时拿在手上翻翻。% l1 n% L! k4 T1 u) r. E$ y( [5 f% h
?$ l9 D: t2 T: k1 C: w' ]' B
通读了这本书,才对MATLAB的概念有所了解。因为要在界面上显示一个图像,其他人用的是一个pushbutton的CData显示图像,还能用鼠标按来按去。我记得MATLAB的对象结构上讲了image,后来就想办法用Image显示出来这个图像。花了三天左右搞定,这是我用MATLAB解决的第一个问题,对自己的鼓动很大。后来又利用空闲时间,做了一个三角函数的显示模块,原希望帮助初中生学习三角函数,一直没有机会,就此埋没了我的处女作。6 t3 {( C1 c, n$ H& S9 `! Y8 h
- }1 ?$ m2 a. X9 v* e3 y% O 再之后就是买书,看书,不看help,因为英文不好。记得有一次,要写一个界面,按钮画好了,回调函数也写了,可是程序总是运行不通。那个程序看了几十上百遍,还是没有看出个所以然来。没有人可以问,没有人可以帮我,心中那个苦闷啊,依然无奈。只好硬着头皮看help,看MATLAB的sample中的注释。总算是开了悟,发现函数结构和函数流程没有理清楚。 ; w$ s5 }0 e( V' ?+ `8 O5 i- l4 j1 q2 b* R
开始那一年多时间就是这样过来的。面对问题,自己琢磨,翻书,不行再找help。Google一下也没有什么有用的资料。虽然去过Mathworks,难以找到什么好用的东西。没有多少人可以讨论和交流,听说华为有一些博士在使用MATLAB,可是高人无缘一见啊。黑暗中的摸索,应该也就是这样的吧。 " ]3 p0 P! I: a ' B+ I- C5 P5 T: n4 @ 学习MATLAB的过程是孤独的,MATLAB在软件开发语言中也是孤独的。同路者少,知音更少。5 v R5 ~" u8 x$ v _7 d
H% u# j2 o) h% Q, }" |" v
二、 学习经验 5 H/ [. o+ j/ ^0 d9 [& z; a9 O& p% m) [ Z9 r
如果我在技术领域里面还有一点可以说的,那就是学习和使用MATLAB的一些方法和经验。与很多朋友探讨过,或者传道过,也引起了一些兄弟的共鸣。今天我想聊一些新的认识。 . R5 _) p, g- x1 f% s$ U" f 7 l% Q F4 _% M' }' m 在与一个同事谈到如何做一个优秀的技术工程师时,我提到了八个字:悟性、勤奋、坚持、付出。* Z; g+ R$ I6 z; W. k
( ]( T' U4 {/ i6 A6 g
悟性。上小学最喜欢的一个字就是悟,以前以为悟就是一个人的慧根。其实不是这样的,所谓悟就是想。要保持大脑的活力,要不停的想。除了上班的时候想,走路的时候要想,吃饭的时候还要想,睡着前再想想。有很多事情,技术的、非技术的问题,都是可以想明白的。只有不停的想,才能想明白,想透彻。我走在路上的时候,经常就在想MATLAB的对象属性,所以我比谁都熟悉这几百个对象属性。, g3 A5 l, N0 {, l9 g: w7 w2 E
+ d+ e, q; ?$ t 勤奋。我这个人也比较懒惰的,但是我对自己喜欢的事情还是有一种韧性。我对勤奋的理解是,你是否每天比别人多学习三个小时?现在的年轻人,一代比一代聪明。要不被别人淘汰,要超越别人,只有靠时间堆出来。每天多学一些,多积累一些。在别人谈小资的时候,想想一些现实的技术。看看国外倾泻而下的标准、技术、商品,如何突围?只有靠我们每个人的勤奋。每当想起我们那些在国外做了七八年的竞争对手,要在中国打败他们,就只有靠时间、压力和汗水的积累。喜欢上海的一个理由,就是这里的快节奏,可以不会让我那么懒惰。有一些事情我想是可以值得骄傲一下的:有半年时间,平均每天学习MATLAB到半夜两点以后;有两个除夕夜,都是在编写程序。 * m, K0 K% U. _; z4 l % Q4 R d1 J" c4 e- N 坚持。做潜力开发的培训,往往要培养一个人永不放弃的斗志和信念。搞MATLAB也是这样,涉及的领域太多,每个领域里面都缺乏足够的专家分布在你周围。那么我们很难有机会接触到真正的高手,对我们的技术细节一一指点。在遇到实际问题时,就只能靠自己去摸索。常常是再坚持一两个小时,就能够解决你的问题。最大的成就感,就在付出了极大的心血和耐心,才取得一个艰难的小胜利。(真的做完一件事情,也许那感觉就是一个字:累)印象很深刻的一件事情,有一次SCIE与我聊起一个混合编程的问题,喋喋不休的讲完了第七种方案(因为好几个我没有听懂),依然不能解决问题,又想到了第八种方案。如果没有坚持,一般人也就能够想到第三步、第四步,如何能够达到圣人的境界?: Q/ V5 M! F; a
" _2 U3 D/ T# j: G9 w 付出。这也许是一个过时的话题,但是我坚信,付出依然能够给我们带来可观的回报。付出,不是今天老板给了你薪水,你可以继续为他工作一个月。我所理解的付出,是每天为公司、国家多工作两个小时。有一些规则是显性的,有一些规则不是那么容易发现的,是潜规则。我不是倡导无私,我只是希望通过自身的努力,提高公司的竞争力,提高民族的竞争力。在这个过程中,也相应的提高了作为个体的技术工程师的竞争力。现代的竞争是激烈而残酷的,只有熟悉地缘政治的人,才能有深刻的理解。作为MATLAB的爱好者,我希望能够为这个群体做一些事情。没有师傅,就寻求一些高手的帮助。找不到高手,就寻找朋友。没有朋友感兴趣,就培养这个群体。土壤厚重了,我们这些生物才能生长得更茂盛一些! ! u1 a) f! q x6 \5 C0 y3 z( r! A- D0 I/ X5 D7 P& u3 \3 D7 A
三、 网络新大陆 3 y4 y! \# X& ^; m' I G( I' r7 U $ e/ {6 F4 @; |5 i7 |7 f1 }% c) a 有一次在一本杂志上看到,CSDN是中国最大的程序员论坛。我就上去逛了几回,果然人气很高,无奈网速太慢,经常被挤了下来。遗憾的是,发现MATLAB方面的资料太少。虽然也有人振臂高呼创建MATLAB专区,无奈云集者寡,打不动高层。在数据结构板块遇到了几个朋友,其中SCIE介绍我到simwe看看。哇噻,果然是一个新大陆!竟然有一个MATLAB板块,好多页的帖子。兴奋得睡不着觉,连着看了好几个半夜。这里水太深,潜不到底。干脆就搜索其他的BBS论坛,从hr,到MATLAB大观园,动力学,再到研学,等等。所有的论坛的帖子,能看的都看了一遍,有的一晚,有的一周。这一年多的苦闷一扫而光,原来世界上还要这么多同类!0 L! l" q: R% N( G) h
$ Q6 M$ \+ |' X( X 我是2003年8月份注册simwe的,正式开始我的网络技术交流。人多话题多,可以聊很多东西。比如最关心的接口,GUI编程,矩阵,图像等等,都有人涉及。也聊一些学习方法,基础知识,帮人答疑解惑。与几任版主也渐渐熟悉起来,开始帮忙一起培养simwe严谨的风气。鼓励潜水,杜绝潜水,这也许算是网络界的一大奇观了。9 H& W3 s( \( o% _# m" I3 F1 f
: w# V+ e; c) Y; ?
越来越多的朋友,了解了这个论坛,开始逐渐聚集起来。个体总是孤独的,身边的人难得对MATLAB感兴趣,有感情的人更不多。但是这个群体却有很多共同语言,相同的诚恳、努力和成就感! ! U7 k/ E, K8 T% q" O1 L- y) y$ ^1 g; e3 I9 J
四、 第一届MATLAB研讨会" W+ g4 J9 k. `! O8 r4 s6 P4 u
/ p# `# N% }- N
网络的交流总是有限的,很多人闻其名,难见其面。于是就萌生了一个想法,大家搞一个聚会,一起聊聊。与simwe坛主电话沟通了一下,他也立即叫好。开始串联网络上认识的朋友,yqzeng,bigrice,亚丁等等。大家一拍即合,几经讨论,决定搞成一个技术研讨会。第一次筹备会议是在上海交大校内的,坐在纪念碑旁的草坪上举行的,因为大家都忙,越晚就越忙,时间就定在2004年5月16日(星期日)。我们把研讨会的题目定为“第一届MATLAB应用技术上海爱好者研讨会”,一则心虚,限在上海;二者也希望以后形成一个惯例,有第二届、第n届。几个人分工合作,就这样开始筹备了。没有赞助,就AA制。没有人讲,我们自己上了三个。没有广告,就利用网络宣传。各大论坛,各个高校,广发英雄贴。9 E8 L, |5 c. `0 K! [$ G
, U! D0 K5 d5 ?+ Q
5月16日,我们在上海那遥远的西北角,同济沪西校区集合了。上午还在匆匆忙忙的做最后的准备工作,编排会议日程,打印签到表。用一个字形容,就是乱,没有经验。还好下午一点半总算是到了,人也来了一些,不多,不少,15个。最让我们激动的时,Genial从合肥远到而来。周恒毅为我们演示的上海南站的建筑结构图,在风中的摆动,非常漂亮,' `) I; `) E8 O0 u
! r3 ` G& P/ }; X8 K8 o2 O' U 现在想起第一届MATLAB的研讨会,虽然历历在目,却又不知该如何详细描述。虽然是清一色的男生,却没有冷落现场的气氛。因为人少,我们买了很多瓜果零食,就搞成了茶话会。大家像一群野外偶聚的蚂蚁,交头接耳,交流化学信息。那天使用频率最高的一个词,就是感情,大家都在相互传递对MATLAB的深厚感情!虽然在夜幕中结束,还有部分人恋恋不舍。* J4 M, f- P! Y) X8 ^) [5 G& u! Z# t
3 a% [& l2 v9 N" r, V 2005年7月3日上午,我们在会议前举行了第四次筹备会议,我们的虚拟团队又添强人:卢昆(season_color)。大家确定了会议日程,李维刚作为主持人来了一次彩排。当时有一个小插曲,王家文迟到了,因为睡得太晚了。我们简单统计了一下,前一晚睡觉时间非常巧合,依次为:凌晨零点、一点、两点、三点、四点。看来大家都是也猫子,昼伏夜出。 5 h, N9 P: N( T; q9 B 8 N7 h/ n% ]' [- W9 H2 R. C 下午的会议一切正常,按照既定计划,来了三十几个朋友。总共有六个议题,涉及了MATLAB应用的主要方面。中间预留的40分钟交流,大家进行了热烈的交流。很多朋友见到了久仰的牛人,为日后的问题找到了救星。这一次会议,最成功的地方,就是邀请到了嘉宾SCIE,他从天津赶过来,实在不容易,在此也对他表示感谢!. ~0 o/ {! ]* F; i1 |* f
; V* n* e: y Q; B7 t
李维刚的结束语,非常精彩,可惜没有录下来。其中有一句话印象深刻:无论MATLAB有多好,无论它有多麻烦,它就是一个存在。就让它在更多人的工作生活中,存在下去吧!& @* c$ A s, C% N( Q: H& h+ s: y6 S
6 l. k! k. d' V3 b) p七、 忙乱 V' h C4 V( y- p- I5 }3 A8 c4 _. Z( K# q7 S
“明天的连载可能要推迟了,最近工作太忙了。昨天也在加班,实在没有时间写。非常抱歉!这两天项目完了继续写,工作还是第一位的,毕竟要生存嘛。希望大家理解!”这是这一节计划发表前一晚上写的,事实上这个连载确实推迟了。到上海来,工作一直很忙,占去了很多时间,也打乱了其他计划。# z$ J9 l) X/ g* A6 L
3 {6 L( Y! P3 g7 w% h
也许这就是一种正常的生存状态吧,不知道是否有更好的办法?如果你要做很多事情,就必须协调好。而我不太擅长此事,所以在很多事情之间穿梭。常常是同时做两件事情,计划着第三件事,夜里想着第四件事。时间长了,反倒习惯了一种忙乱的状态,可以做很多事情,做好一件马上就是下一件。只有等到这些都告一段落,就可以好好的放松一下了。" B- g8 Z/ f2 E! H
5 L% f/ m; r. @! R) r6 Z
有一些事情,是在牙齿缝里面那点时间做出来的。就像第一届MATLAB研讨会,大家都很忙,bigrice连星期天也要工作的。大家在这种情况下,依然把两届研讨会做好了,还是很不容易。今年的研讨会,有一点对不起观众,就是我的议题实际准备时间非常少。去年还用了两个小时,今年也就是研讨会开会前的半个小时才搞好。还好有一个可以参考的模版,砍掉一半,然后换了一大半新的内容。很庆幸蒙混过关!" S8 L+ O$ W# T" T% c1 i
/ E, n: p2 N& ?* x+ s1 m
临近研讨会的最后几天,Okaka邀请我做一个QQ群的管理员。以前很少用QQ和QQ群的,今年发现了QQ群一般聚集了很多专业人士,就加了很多GIS和MATLAB的QQ群。让我来参与管理QQ群,可以尝试一下。我就把这个群改名叫“MATLAB高级用户群(MATLAB for Simwe)”; \* l" w8 j+ x0 n
$ F% n/ I7 L& H/ p1 o# R* e! B2 }% [$ `" d% B
八、 MATLAB俱乐部* ]( x% S8 z+ A# E) d" F/ o* k1 ^, v
' X' ^3 D; s! n- |& D
MATLAB领域已经有十几个QQ群了,如何发展为一个有特色的社区?这是我们几个要考虑的问题。“MATLAB高级用户群”刚开始时,只接受Simwe的高级会员。也就是对MATLAB已经很熟悉的人,才是我们真正需要的人。门槛提高了,发展就比较缓慢,但是我们保持了足够的耐心。 ) K; G9 i; ~ k * ^4 Y& Y8 f0 A 采用老套路,拿出诚意,广发英雄贴。先邀请了几个牛人,增加向心力。感谢bainhome的吆喝和鼓励,MATLAB版的五个版主全部都到起了。其中午夜流星比较能磨,也被我给骗进来了。Simwe的MATLAB新生代基本上都聚齐了,满眼望去,阵营强大。可是一个新的问题出现了,这也是一个通用现象,忙的人都是高手,高手都很忙。如何才能把大家的兴趣都吸引到这里来,如何让这个群体向更高的方向发展? ' \, l. j1 R5 e, N. D+ } - p- ]9 _4 I( ]9 ? 随着Simwe的高级成员的增多,MATLAB的封闭性开始出现了。是否要接受其他论坛的人员?而他们是否能够接受Simwe的招牌?作为一个MATLAB为主的社区,我们作了一些调整。将这个群定位于MATLAB的专业级用户交流场所,往虚拟俱乐部的方向发展。征求了群内成员的意见,我们将这个群改名为“MATLAB俱乐部”。# b; R" a8 O) k0 @
1 U0 t) @; F1 B" u! J 到目前为止,MATLAB俱乐部的成员都是各个论坛的积极分子。凡是泡论坛的人都知道,业界还没有一个专门的MATLAB论坛,只能在几个科技论坛的边缘处发展。并且每个论坛的用户群不一样,有的侧重科研,有的侧重工程,因此两大群体缺乏足够的沟通。虽然我在2003年提出了MATLAB论坛应该加强横向沟通与合作,可是没有人响应,到现在也没有什么改善。 - N0 u" r1 Z/ P f( {; q9 q- `$ G6 e% t4 Z7 b' f
也许,MATLAB俱乐部,可以开创一个专门的MATLAB论坛,涵盖各个层次、各个专业的MATLAB爱好者。只有通过我们自身的努力,才能让将来的MATLAB爱好者不再孤独,让MATLAB的影响和应用不再狭窄。这是一个新的难题,期待答案。; A2 G& m4 L/ V
& V/ |' M( Z4 ]2 l% R) s% ~九、 遗憾 T3 \1 F! j S6 n( A$ V/ F4 S; i' O" ?1 }4 a4 _# Y$ N9 z
这些年,用在MATLAB方面的时间很多,有一些收获,也有很多遗憾。当然主要原因还是自己不够努力,让自己的缺点一直保持为缺陷。MATLAB是一个纯英文的平台,偏偏我的英文很不好。无法与MATLAB的开发者做直接的交流,沟通的障碍,导致了缺乏那个勇气。& G! u' h+ H5 k. f7 n7 ^2 b1 A
$ E+ v0 X& s q) [0 Q* y
如果我能够与Mathworks的人直接沟通,也许能够了解更多的技术细节。我们对MATLAB的很多困惑,也许就是他们曾经面对的问题。比如Compiler的发展方向,我想当初这些技术工程师也做了很多争论。如果他们能够得到一些其他的反馈信息,也许在编译器方面做得更好。 6 T# z* `8 Q/ {( R4 j3 g) w# }4 j8 Z" ~/ Z- I. [- I2 P
时间总是一种稀缺资源,与同行的交流还不够充分。比如对某些领域的了解,依然很片面。看到很多朋友,对一些相关行业和领域,都能侃侃而谈,实在是一种羡慕。数学基础实在不好,很多算法问题总是想不明白。数学天才们的思维训练,看来是没有机会接受了。3 o3 F7 H# B/ T* Z2 o j3 L
) A+ c) a0 F( O' |$ i2 h 遗憾在继续,何时有转机?( n, c z1 C7 I& I7 j2 q+ g
8 k9 \' h# o; J7 x
十、 蜕变9 v7 n5 v; V; L( B' z
1 w9 O' t- V* o
随着对技术的理解加深,有一些看法在逐步转变。以前以为一个好东西,总能够保持其优势。然而现实生活中,技术发展太块了,仅有这些还不够。不选择更新,只有被淘汰,无论是技术,还是做技术的人。 3 `4 }0 _7 a$ z$ Q3 S4 d! u. L; F9 P& H( J e$ B
MATLAB真是一个好工具,也只能是一个好工具。它可以作为一个平台,承载知识和算法,那么核心的竞争力将是它实现的技术和产品。现在的公司,主营业务是通信软件。以后的职业规划,将更多的与通信沾边了。又是一个陌生的领域,又是一个必须要全力以赴的专业。 1 L4 E3 L; U1 q! B1 x7 s4 d o- M+ c, l! \* m0 n 感谢MATLAB带给我的新思维,技术的路很漫长。回头只能看到自己的影子,希望明天有明媚的眼光! 5 U( c; K* j% D- m9 [! T ( o/ O+ w& R4 M7 C