MATLAB稀疏矩阵

1.矩阵的存储方式

1.1存储方式

  1. 完全存储方式:将矩阵的全部元素按列存储
  2. 稀疏存储方式:只存储矩阵的非零元素的值及位置,即行号和列好。

注意:采用稀疏矩阵存储方式时,矩阵元素的存储顺序并没有改变,也是按列的顺序进行寻存储。

1.2稀疏存储展现

 当矩阵的规模很大时,采用稀疏存储方式可以大大节约存储空间。


2.稀疏矩阵方式的产生

2.1完全存储方式与稀疏存储方式之间的转化

  1. A = sparse(S):将矩阵S转化为稀疏存储方式的矩阵A
  2. S= full(A):将矩阵A转化为完全存储方式的矩阵S

2.1.1转化演示

 


 2.2直接建立稀疏存储矩阵

  1. saprse(m,n) 成一个m x n 的所有元素都是零的稀疏矩阵。
  2. saprse(u,v,S):其中u、v、S是三个等长的向量,S是要建立的稀疏存储矩阵的非零元素,u(i)、v(i)分别是S(i)的行和列下标
  3. B = sconvert(A):直接建立一个稀疏存储矩阵,B是建立的的稀疏存储矩阵,A是被转化的完全矩阵。

对于spconcvet函数,A为一个m X 3 或 m X 4的矩阵,其每一行表示一个非零元素,m是非零元素的个数。

  1. A(i,1)表示第i个非零元素所在的行
  2. A(i,2)表示第i个非零元素所在的列
  3. A(i,3)表示第i个非零元素值得实部
  4. A(i,4)表示第i个非零元素值得虚部

若矩阵得全部元素都是实数,则无需第四列。

2.2.1直接建立演示

sparse(u,v,S)

spconvert()

2.3带状稀疏矩阵得稀疏存储

2.3.1类型

稀疏矩阵有两种基本类型:无规则结构得稀疏矩阵与有规则结构的稀疏矩阵。带状稀疏矩阵是一种十分典型的具有规则结构的稀疏矩阵,它是指所有非零元素集中在对角线上的矩阵。

2.3.2函数操作

  1. [B,d] = spdiags(A):从带状稀疏矩阵A中提取全部非零对角线元素赋给矩阵B及其这些非零对角线的位置向量d
  2. A = splidags(B,d,m,n):产生带状稀疏矩阵的稀疏存储矩阵A,其中m,n为原带状·稀疏矩阵的行数和列数,矩阵B的第i列即为原带状稀疏矩阵的第i条非零对角线,向量d为原带状稀疏矩阵所有非零元素对角线的位置。

2.3.3函数演示

 

2.3.4 spdiags总结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值