matlab sparse()

一、sparse()的稀疏矩阵简单运用
1.>> A = [0, 0, 0, 0;
0, 0, 1, 0;
0, 0, 0, 0;
0, 1, 0, 2];
>> sparse(A)
ans =
(4,2) 1
(2,3) 1
(4,4) 2
 
二.S = sparse(i,j,s,m,n,nzmax)
由向量i,j,s 生成一个m*n,且最多含有nzmax个元素的稀疏矩阵。
sparse([1,2,3,4],[1,2,3,4],[0,0,1,1],5,5,6)
ans =
(3,3) 1
(4,4) 1
其中i=[1,2,3,4],对应要形成矩阵的行位置;
J=[1,2,3,4],对应要形成矩阵的列位置;
S=[0,0,1,1],对应要形成矩阵对应位置的值。
(i 和j 的位置为一一对应,即(1,1)(2,2)(3,3)(4,4),将s中的值赋给这四个坐标的位置。
若i=[2,1,3,4],j=[3,2,4,1],则形成的坐标为(2,3)(1,2)(3,4),(4,1) )
(m>=max(i),n>=max(j) , m和n的值可以在满足条件的范围内任意选取. nzmax>=max(i or j))
下面为一些简化的情况
三.S = sparse(i,j,s,m,n)
  用 nzmax = length(s) ;
四.S = sparse(i,j,s)
使m = max(i) 和 n = max(j),在s中零元素被移除前计算最大值,[i j s]中其中一行可能为[m n 0];
5.S = sparse(m,n)
sparse([],[],[],m,n,0)的缩写,生成一个m*n的所有元素都是0的稀疏矩阵。
原文地址:https://www.cnblogs.com/Wanggcong/p/4761652.html