最近在调试一个基于Matlab的程序,在偶然间发现了几个比较有趣的技巧,给大家分享一下(很可能是太菜鸟了,没有涉及这方面,大方之家请勿见笑,对您有所帮助请点赞!)
1. Matlab语言是一种解释型语言(interpreter)
就像我在总结软件架构数据流时的一种:Interpreter / virtual machine (解释器/虚拟机),具体架构可以参看以下博文:(解释性语言对应着编译型语言类似C、C++...等)
似乎这类解释型的语言,基本上的操作命令都是相似的,因此我在matlab下尝试着用Linux shell脚本语言进行了命令行的输入,没想到很多shell命令在matlab下也是可以工作的,甚至格式都不用调整,比如:cd ../data/, ls命令,利用Tab键进行命令索引等功能,这几个操作命令还是对开发十分便捷的。
2. Matlab工程工作目录设置
其实对于简单的matlab工程几乎不需要特殊的工程目录,直接把对应的.m文件拖入命令窗口就可以把运行了。
但是对于较为复杂的工程,甚至是在不同工程下有共享文件(函数)的情况,这样单一目录就显得有些单薄了。举例说明,在机器学习的训练中,一种常常使用的将算法和数据分对应的目录放置,同时在训练时总要load进来,而有些data下面还有很多小的分类目录,这样在写load命令时就显得有些臃肿,最好的方法是直接通过一个命令把所有大文件夹下面的所有子文件夹的目录都包含进去,这样对于工程设置就显得比较便捷:文件组织上通过不同文件夹将方法和数据分开,而工程调用上则类似于所有的方法和数据都放在了同一个目录下,可以直接调用或load。
啰嗦了这么多,这个很重要的命令就一句:
addpath(genpath('E:\MatlabProject\MachineLearning'));
实现的功能就是把所有MachineLearning下的子文件夹添加到工程目录中,实现简单的调用。
3. Matlab精度设置
十分常见的关于调整matlab输出数据精度的问题,可以通过以下命令便捷实现:
digits(20);%20位有效数字,全程设置显示精度
a=vpa(sqrt(2));%对参与的每个运算都设置精度
*******************************************随时发现,随时记录*************************************************