谈谈MATLAB学习容易走入的误区 王小川 从开始使用MATLAB到现在已经近5年的时间,这期间出版了两本书,完成了学校硕士与博士的MATLAB培训,通过与同学们的沟通和问题反馈,我总结了常见的MATLAB学习误区,与大家分享下: 误区一:MATLAB安装一次就行,升级和我没太大关系。 这是MATLAB使用最常见的误区,Mathworks公司每年提供两个版本升级,上半年为a,下半年为b,如MATLAB最新版本R2014a代表的就是2014年上半年版本,更新后的MATLAB会对部分工具箱中的函数进行优化或者提供新的工具箱,例如神经网络工具箱就是在R2012b版本中提供了加速运算算法同时将神经网络训练支持并行计算的,如果你使用旧版本,很可能享受不到新版本MATLAB带来的amazing的功能。 误区二:MATLAB是解释性语言,运行慢,尤其是循环。 MATLAB确实是解释性语言,是基于矩阵进行的运算,所以Mathworks官方一直推崇的是向量化编程。实际上,使用向量化编程的速度基本可以达到C、C++等语言速度;对于必须使用循环才能做到的事情,Mathworks也编写了并行运算工具箱,可以使用CPU、GPU甚至是集群进行计算,大大提高了机器的使用效率与代码的运行速度。 误区三:MATLAB混编难以实现,接口很多不支持。 谬论,MATLAB支持多种语言混编,可以非常容易连接C、Java、.NET、R等软件完成特定需求,尤其是可以直接通过import命令加载Java的Jar包,完成对Java类的直接调用,非常方便。 误区四:MATLAB只适合科研,在产品领域应用不大。 MATLAB自从出了MATLAB Coder与Compiler之后,Mathworks已经很明确将MATLAB打造成一种语言环境而非一种计算软件,用户可以通过Coder工具箱方便的将MATLAB代码转变为C、JAVA等代码进行快速编程与部署。据我所知,Google无人汽车目前大量采购MATLAB进行代码生成,身边很多宽客朋友的策略与交易系统都是使用MATLAB搭建的,所以,别怀疑,只管用吧! 另外多说几句,MATLAB新版本中引入了Production server的概念,也就是说,MATLAB支持后台处理,前台通过网页、EXCEL等等终端访问与设置,这是一个划时代的想法。 误区五:MATLAB不能处理大数据。 大数据只是相对来说的,单机版的MATLAB确实内存有限,这也是Mathworks设置MATLAB DistributedComputing Server工具箱的原因,用户可以通过此工具箱使用MATLAB操作集群进行操作,只要算法支持,MATLAB完全可以进行大数据处理和挖掘。 误区六:MATLAB不像R那样,可以使用多种Package。 Mathworks官方出品的工具箱是经过N多专家进行测试才发布的,这些可以在MATLAB APPS标签中查看,但是MATLAB也同样支持热心用户将自己的程序打包进行分享,大家可以访问MATLAB官方网站http://www.mathworks.cn/discovery/matlab-apps.html,查找自己需要的代码。当然,这些代码并非都经过MATLAB官方的测试,使用时候多加小心。 误区七:既然MATLAB功能这么强大,我只要需要学习MATLAB一种语言就好了。 这也是很多初学者常见的学习误区,事实上,任何一种语言都有最好的应用方式,比如你要做一个ANOVA分析,你可以使用SPSS、SAS、R、JMP等软件实现,其中SPSS、JMP都是点击式完成。也就是说,完成一个任务,不一定要使用特定的软件,个人的观点是用什么顺手用什么,用什么方便用什么,白猫黑猫,抓到耗子就是好猫。 以上观点供大家参考,希望大家能在学习MATLAB的道路上一帆顺风!
|