近月在MATLAB的道路上算是跌跌落落,起起伏伏啦,有时想了许久的程序,通过调用MATLAB中的内置函数很快就解决了,因而在编程效率上不忍直视,故对以往走的学习弯路还有一些经验和技巧。
1.首先,要真正用好MATLAB,必须会利用MATLAB的 help+functionname 指令或者 doc+functionname 指令来查询函数的功能和用法,遇到不是很明白的函数查下便知。另外,若是要提高效率,有想要实现的功能,可以通过官网的文档来查询常见的函数,这个可以大大减少工作量(若是开始想锻炼一下自己的编程能力,也可以自己写写基础函数)。若是写完想和系统的函数一较高低,则可以调用 type 或 open 或 edit +functionname 的指令来查看源码,不过这种方法对于一些内置函数(例如求绝对值函数abs并不适用),通过这种查询源码的方法还可以自己手动修改成另外的函数,来实现想要的功能,这对于懒人还是很实用的。附上官网函数文档地址: http://ww2.mathworks.cn/help/matlab/functionlist.html#language-fundamentals,看完这里面的函数可以大大减少你的工作量(血的教训啊)。
2.其次,是在使用MATLAB中一些小技巧,通过观察网上大神小神的代码习惯,倒是发现了他们的一些代码习惯,另外从MATLAB的函数源码中也可以学习到许多东西,这里是自己的一些总结:
(1)注释:MATLAB使用 % 一个百分号(Ctrl+R注释,Ctrl+T取消注释)来注释单行代码,使用 %{ 和 %} 来注释成块代码,且可以缩进,多多使用这两种注释方法可以让程序可读性更高,好的代码真的是可以让人眼前一亮的!另外,注释方面还有使用%%来分块,至于具体情形怎样试下便知,使用多几个 %% 能让程序结构更加清晰分明。
(2)格式:多多使用 Tab 键来保持程序的条理清晰和整齐对应,该有的空格要有(MATLAB对空格是不大敏感的),这样子可以让程序更加美观,可读性大大增加,这在其他编程语言也一样适用,越高级的语言越适用。另外,除了少数简单的程序可以在命令行上直接运行,大多数程序还是需要在M文件里执行较为方便,而在M文件里复杂的程序大多是写成子函数的形式来简化代码,这里在格式上建议尽量多对每个函数进行注释(之前也不喜欢注释,嫌麻烦。但慢慢代码变复杂了之后,有时出 BUG 在修改时要找到相应位置总要看很久,所以说代码注释是很有必要的,尤其是对每个函数的作用,变量进行说明),另外在子函数与子函数间尽量保持一行间距。
(3)TIP1:使用 nargin 和 nargout 来实现识别输入量和输出量的不同从而进行不同的进程和处理,具体使用方法可参考MATLAB自带的一个函数(输入: open regress 即可看到),通过这种方式可以将多个相似子函数集成在一个子函数中。
(4)TIP2:......
(5)......
暂且这样啦,有空再补