ly1046906153的专栏

我这菜鸟在大二上学期就学习了Matlab的课程,并且还顺带了10多个上机课时。大三、大四期间的信号与系统以及通信原理的实验也都是由Matlab完成的。研一的小论文的仿真也是用Matlab完成的,按理说到目前为止算是有四年Matlab编程经验了吧,课时结果直到今天我才明白了点Matlab这个所谓的“第四代”编程语言的真正特殊之处。

原来我以为之所以称之为“第四代”编程语言是因为在他的语法里有“变量无需预定义直接使用”、“下标从一开始”等等特别“人性化”的东西,后来发现这还不是它的根本优势所在(也许这次我又体会错了…)。

之前用Matlab写程序完全是延续了java等编程语言的风格,大量的使用了for循环等各种控制结构。哪怕是为了在一个比较大的矩阵里找到零元素我都会去双重循环来遍历这个矩阵,而不是去使用Matlab本身所带有的定位零元素的函数。正是因为大量的使用了java等语言的编程风格,,而忽视了Matlab本身强大的矩阵处理功能,使得我写的一些仿真程序运行速度慢的有点让人难以忍受(在验证推荐系统的性能改进的算法时,为了得到一个特别大的矩阵我甚至是一个元素一个元素计算得到的,而不是通过矩阵计算得到的,完全把这个矩阵当成二维数组来用了,完全背离了Matlab的设计宗旨,真是大错特错)。

现在回想一下,即使是接触Matlab有四年时间了,但是一直都没入门,真是因为平时仅仅满足于实现功能就好了,没有去仔细的琢磨语言本身的一些特性。这也许是我在学习其他的一些东西时,也会碰到的,木头是该多动动脑子了。。。

婚姻犹如一艘雕刻的船,看你怎样去欣赏它,又怎样驾驭它。

ly1046906153的专栏

相关文章:

你感兴趣的文章:

标签云: