本文概述
声明普通数组后, MATLAB将为数组中的每个元素创建一个内存位置。例如, 函数a =眼睛(10)将创建100个元素, 这些元素排列为10 x 10结构。在此数组中, 其中90个元素为零!
该矩阵需要100个元素, 但是只有10个元素包含非零数据。这是稀疏数组或稀疏矩阵的示例。
稀疏矩阵是其中大部分元素为零的大型矩阵。
现在假设我们创建另一个10 x 10矩阵b, 定义如下:
如果将这两个矩阵相乘, 则结果为
稀疏属性
MATLAB具有double数据类型的特定版本, 该版本旨在与稀疏数组一起使用。
在double数据类型的此特定版本中, 仅为数组的非零元素分配了内存位置, 并且据说该数组具有”稀疏”属性。
具有稀疏属性的数组将为每个非零元素保存三个值:元素本身的值以及元素所在的行号和列号。即使每个非零元素必须保存三个值, 但是如果矩阵只有几个非零元素, 则此方法比分配完整数组要有效得多。