一直以来,本人用MATLAB都是想用什么功能就搜索什么功能,或者查看MATLAB帮助文档。(不得不说MATLAB的帮助文档做得真好)
由于没有系统学习过MATLAB,所以代码都很水……
好吧,开个文章来记录一下我现学现卖的MATLAB代码,以便以后查阅。
MATLAB学习笔记1:如何快速创建多个仅有数字变化变量名?
想实现这样一个功能,创立N个变量名,例如H1,
H2, H3, …,这里面英文部分是没有变化的,只有数字在依次递增。
很久之前,我使用eval函数实现这个功能,十分复杂,而且如果变量名太多,不方便调用,并且容易出现bug。例如我在本科毕设的时候有一段代码是这样的:
eval(['save H',num2str(l)])
此处就用到eval函数来储存数据到不同名称的文件里。我记得我为了实现这个功能,弄了一晚上,因为不熟悉MATLAB,需要太多debug的时间。
尽管eval函数十分强大,但是正是由于一个函数太过强大,反而需要更多的内存,CPU,以及人为的debug时间,间接降低了代码的效率。
这里,参考MathWorks的文档,提供一种更高效地创建变量名措施。
如果想创建一系列变量,其中只有数字在变化,可以使用元胞数组(cell)去代替使用eval,cell数组的效率更高。
什么是元胞数组(cell)?元胞数组是MATLAB中特有的一种数据类型,是数组的一种,其内部元素可以是属于不同的数据类型。