1.矩阵的存储方式
1.1存储方式
- 完全存储方式:将矩阵的全部元素按列存储
- 稀疏存储方式:只存储矩阵的非零元素的值及位置,即行号和列好。
注意:采用稀疏矩阵存储方式时,矩阵元素的存储顺序并没有改变,也是按列的顺序进行寻存储。
1.2稀疏存储展现
当矩阵的规模很大时,采用稀疏存储方式可以大大节约存储空间。
2.稀疏矩阵方式的产生
2.1完全存储方式与稀疏存储方式之间的转化
- A = sparse(S):将矩阵S转化为稀疏存储方式的矩阵A
- S= full(A):将矩阵A转化为完全存储方式的矩阵S
2.1.1转化演示
2.2直接建立稀疏存储矩阵
- saprse(m,n) 成一个m x n 的所有元素都是零的稀疏矩阵。
- saprse(u,v,S):其中u、v、S是三个等长的向量,S是要建立的稀疏存储矩阵的非零元素,u(i)、v(i)分别是S(i)的行和列下标
- B = sconvert(A):直接建立一个稀疏存储矩阵,B是建立的的稀疏存储矩阵,A是被转化的完全矩阵。
对于spconcvet函数,A为一个m X 3 或 m X 4的矩阵,其每一行表示一个非零元素,m是非零元素的个数。
- A(i,1)表示第i个非零元素所在的行
- A(i,2)表示第i个非零元素所在的列
- A(i,3)表示第i个非零元素值得实部
- A(i,4)表示第i个非零元素值得虚部
若矩阵得全部元素都是实数,则无需第四列。
2.2.1直接建立演示
2.3带状稀疏矩阵得稀疏存储
2.3.1类型
稀疏矩阵有两种基本类型:无规则结构得稀疏矩阵与有规则结构的稀疏矩阵。带状稀疏矩阵是一种十分典型的具有规则结构的稀疏矩阵,它是指所有非零元素集中在对角线上的矩阵。
2.3.2函数操作
- [B,d] = spdiags(A):从带状稀疏矩阵A中提取全部非零对角线元素赋给矩阵B及其这些非零对角线的位置向量d
- A = splidags(B,d,m,n):产生带状稀疏矩阵的稀疏存储矩阵A,其中m,n为原带状·稀疏矩阵的行数和列数,矩阵B的第i列即为原带状稀疏矩阵的第i条非零对角线,向量d为原带状稀疏矩阵所有非零元素对角线的位置。