使用稀疏矩阵来存储包含大量的零值元素的数据既可以节省了该数据的处理的显著量的存储器和速度。疏
是,你可以分配给任何二维MATLAB的属性®即由基质双
要么合乎逻辑
元素。
该疏
属性允许MATLAB来:
对于全矩阵,MATLAB内部存储每一矩阵元素。零值元素需要的存储空间相同量的任何其它矩阵元素。对于稀疏矩阵,但是,MATLAB只存储非零元素,它们的指标。对于具有零值元素的高百分比大矩阵,该方案显著减少了用于数据存储所需的存储器的量。
该谁是
命令提供矩阵存储,包括大小和存储类的高级信息。例如,这谁是
挂牌显示大约在同一矩阵的稀疏和完全版本的信息。
M_full =魔法(1100);%创建1100-通过-1100矩阵。M_full(M_full> 50)0 =;%设定元素> 50至零。M_sparse =稀疏(M_full);%创建的相同的稀疏矩阵。卫生组织名字大小字节类属性M_full 1100x1100 968万双M_sparse 1100x1100 9608双疏
注意,所使用的字节数是在稀疏的情况下更少的,因为零值元素不被存储。
稀疏矩阵也有在计算效率方面显著的优势。不像全矩阵运算,以稀疏矩阵操作不执行不必要的低级别的算术运算,诸如零添加(X + 0
总是X
)。产生的效率可能会导致需要处理大量数据稀疏工作方案的执行时间显着改善。