先做一下自我介绍. 我的网络身份是知乎MATLAB话题下, 活跃回答者排名第二.
另外, 开通了MATLAB专栏, 主要是分享一下自己的MATLAB学习心得.
除此之外, 我没有任何其他身份, 也不希望有人了解我现实身份, 暂时不打算换工作, 不希望自己被打扰, 想安安静静做自己的研究, 过自己的生活.
第0阶段: 使用Excel/VBA
我是2010年研究生毕业的, 毕业前半年实习学了一些Excel/VBA进行金融建模(比我同学们稍强, 他们大部分人只会用Eviews用鼠标进行计量建模), 实习之前也就学了一学期的C语言, 可以说编程零基础.
毕业半年, 还是用Excel/VBA进行金融建模, 其中碰到过一个让我很尴尬的事, 有一次路演, 一个研究员问我: "你这个优化使用的是什么优化算法? 全局最优, 还是局部最优?" 我用Excel自带的优化器进行优化股票权重, 但是我实在不好意思直说, 而且, 我也不知道Excel自带优化器用的是什么算法, 更不懂全局最优, 局部最优是什么意思. 就这样, 空气凝固了一分钟, 超级尴尬!
从这件事开始, 我越来越感觉Excel/VBA有局限性, 我之前一直在用它来做"简单的模型" + "漂亮的GUI". 这根本不能算是金融工程嘛!
第1阶段: MATLAB入门
于是, 我开始注意到了MATLAB这个软件, 原因很简单, 没那么复杂, 公司的金融工程部的人都使用它. 我就照着MATLAB的文档学习, 我好像打开了新的大门, Excel很难做的事, MATLAB很容易做到, 比如对两个集合取交集. 更重要的事, 在MATLAB文档里面, 我发现了很多未知的技术. "不知道自己不知道", 这是很可怕的, 这就是我接触MATLAB之前的状态. 我对着MATLAB文档如痴如醉学着, 差不多所有的页面(基础部分, 不包括各种工具箱)都翻了至少一遍.
这样差不多算是入门了. 为了巩固我学的, 我在首页 - MATLAB中文论坛里面答题, 在QQ的MATLAB群里面帮助小白.
第2阶段: MATLAB技术的提高
当时, 部门老大要求我学习C++ , 用于提高速度. 当时部门也没有谁会C++的, 我于是自学, 先学了C++的语法, 学的差不多的时候, 不知道怎么的, 就开始学习算法竞赛 了, 可能是看到某人给的C++学习建议里面有这个吧. 现在水平大概在普及组与提高组之间.
虽然在算法竞赛里面, 这个水平不入流, 但是对我的MATLAB技术提高有很大帮助, 特别是程序提速上.
第3阶段: "七年之痒"
用熟了MATLAB以后, 看到网络各种语言的推荐文章, 开始了其他语言的学习.
Mathematica 的数学计算最强, 而且可以做很多好玩的东西, 于是, 学了一段时间.
R语言 统计赛高, 于是, 学了一段时间.
Python "人生苦短, 我用Python", 于是, 学了一段时间.
经历了这些其他语言的学习以后, 我的感悟是: 每个语言都有各自的优点, 也有各自的缺点, 那些安利文章介绍了优点, 缺点却只能自己使用过一段时间, 自己去发现!
第4阶段: 重回MATLAB
这个阶段, 当然不是只用MATLAB, 那些学过的语言也用, 只是心态和以往不同了.
第1, 2阶段, 感觉MATLAB最强, 其他语言都是垃圾.
第3阶段, MATLAB有缺点, 我要转其他语言.
第4阶段, 每个语言都有优缺点, 根据自己的实际情况, 重点使用其中一个语言, 其他语言辅助.
具体语言并不怎么重要, 重要是自己的专业知识, 经验, 以及研究方向. 说到底, 语言只是工具, 虽然用熟工具很重要, 但并不是全部.
给MATLAB新手的学习建议:
1 MATLAB的文档是最好, 最主要的学习资料.
2 多参与技术问答, 用以巩固自己所学的东西.
3 多多编程, 其中
特别推荐, 对向量化编程很有帮助.
很久没有刷题了, 之前排名进前30的. 做题数数字很吉利:)
4 经常阅读MATLAB函数的源代码.
5 学习一下算法(指的是<算法导论>里面那种提高效率的算法)
6 寻找第三方MATLAB源代码最好的地方
, github都不如这里, 根据我多年的经验.
7 向老手高手学习, 关注一些MATLAB专栏.
创作不易, 请大家"素质三连": 点赞, 收藏, 分享.
武汉格发信息技术有限公司,格发许可优化管理系统可以帮你评估贵公司软件许可的真实需求,再低成本合规性管理软件许可,帮助贵司提高软件投资回报率,为软件采购、使用提供科学决策依据。支持的软件有: CAD,CAE,PDM,PLM,Catia,Ugnx, AutoCAD, Pro/E, Solidworks ,Hyperworks, Protel,CAXA,OpenWorks LandMark,MATLAB,Enovia,Winchill,TeamCenter,MathCAD,Ansys, Abaqus,ls-dyna, Fluent, MSC,Bentley,License,UG,ug,catia,Dassault Systèmes,AutoDesk,Altair,autocad,PTC,SolidWorks,Ansys,Siemens PLM Software,Paradigm,Mathworks,Borland,AVEVA,ESRI,hP,Solibri,Progman,Leica,Cadence,IBM,SIMULIA,Citrix,Sybase,Schlumberger,MSC Products...