MATLAB如何使用sparse函数生成稀疏矩阵

2020年12月20日23:50:14MATLAB如何使用sparse函数生成稀疏矩阵已关闭评论

MATLAB如何使用sparse函数生成稀疏矩阵

【语法说明】

S=sparse(A):函数将矩阵A转化为稀疏矩阵。如果A本身就是稀疏矩阵,函数返回A本身。

S=sparse(i,j,s,m,n,nzmax):函数用向量i、j和s生成一个m×n的含有nzmax个非零元素的稀疏矩阵。向量i、j和s的长度是相同的,满足 S(i(k),j(k))=s(k)。向量 s 中的零元素将被忽略,对于重复的(i,j),对应的向量s中的值相加作为(i,j)位置的元素值。

S=sparse(i,j,s,m,n):使用nzmax = length(s)。

S=sparse(i,j,s):使用m=max(i),n=max(j)。

S=sparse(m,n):相当于sparse([],[],[],m,n,0),生成一个元素均为零的m*n稀疏矩阵。

【功能介绍】生成稀疏矩阵。

【实例】用sparse函数创建和转换稀疏矩阵。

>> a=[0,0,0,2,0;3,0,0,0,1;0,0,0,5,0]  % 满矩阵

a =

0 0 0 2 0

3 0 0 0 1

0 0 0 5 0

>> sa=sparse(a)     % 将a转为稀疏矩阵

sa =

(2,1)  3

(1,4)  2

(3,4)  5

(2,5)  1

>> bs=sparse([2,1,3,2],[1,4,4,5],[3,2,5,1]) % 创建稀疏矩阵

bs =

(2,1)  3

(1,4)  2

(3,4)  5

(2,5)  1

【实例讲解】稀疏矩阵只存储非零元素的位置和值,当矩阵中零元素占多数时可以明显节约存储空间。

  • 版权声明:本篇文章(包括图片)来自网络,由程序自动采集,著作权(版权)归原作者所有,如有侵权联系我们删除,联系方式(QQ:452038415)。