MATLAB如何使用speye函数生成单位稀疏矩阵
【语法说明】
S=speye(m,n)或S=speye([m,n]):生成m×n单位稀疏矩阵。
speye(n):生成n×n单位稀疏矩阵。
speye:生成1*1单位稀疏矩阵。
【功能介绍】生成单位稀疏矩阵。
【实例】用speye生成1000*1000稀疏矩阵,观察其所占的内存空间。
>> sa=speye(1000); % sa为1000*1000稀疏矩阵
>> a=eye(1000); % a为1000*1000满矩阵
>> whos
Name Size Bytes Class Attributes
a 1000x1000 8000000 double
sa 1000x1000 16004 double sparse
>> ssa=sparse(a);
>> whos
Name Size Bytes Class Attributes
a 1000x1000 8000000 double
sa 1000x1000 16004 double sparse
ssa 1000x1000 16004 double sparse
【实例讲解】whos 命令列出当前工作空间中变量的名称、大小和属性。直接生成1000*1000满矩阵时,由于默认类型为double, double类型的数据占8个字节,因此矩阵a需要8MB的内存空间,转化为稀疏矩阵后,内存空间是原来的1/499.875倍。