Matlab的含义是矩阵实验室,其特征之一就是数据的向量化操作,借此提升软件运行效率。那么,必然会涉及数据元素的访问。Matlab主要支持下面一些形式的访问:
(1)array-inde: A(i)
(2)cell-index: C{i}
(3)struct field: S.fieldname
不同的访问方式,效率差别很大,我们以单个元素或者域的访问为例,探讨不同的数据结构的访问时间。
一百万次访问的平均时间对比:
(1)array-index: 0.002675s
(2)cell-index: 0.1311
(3)struct field: 0.002250s
从中我们可以发现,array-index与struct field访问的方式速度差不多,可以达到约每秒4亿次,但cell-index的访问方式则明显变慢,速度为约每秒760万次,大约慢了50倍。
因此,如若可能,在实验中,我们还是应该尽量采用向量化,或者结构体来定义数据结构,从而加快运行速度。
时间: 2024-11-06 07:57:46