sparse函數
功能:Create sparse matrix-創建稀疏矩陣
用法1:S=sparse(X)——將矩陣X轉化爲稀疏矩陣的形式,即矩陣X中任何零元素去除,非零元素及其下標(索引)組成矩陣S。 如果X本身是稀疏的,sparse(X)返回S。
例如:
A=
0 2 0
4 0 6
7 0 0
B=sparse(A)=
(2,1) 4
(3,1) 7
(1,2) 2
(2,3) 6
用法2:S = sparse(i,j,s,m,n,nzmax)——由i,j,s三個向量創建一個m*n的稀疏矩陣(上面的B矩陣形式),並且最多含有nzmax個元素。
例如:
B=sparse([1,2,3],[1,2,3],[0,1,2],4,4,4)
B =
(2,2) 1
(3,3) 2
其中i=[1,2,3],稀疏矩陣的行位置;j=[1,2,3],稀疏矩陣的列位置;s=[0,1,2],稀疏矩陣元素值。 其位置爲一一對應。
m=4(>=max(i)),n=4(>=max(j)) (注:m和n的值可以在滿足條件的範圍內任意選取),用於限定稀疏的大小。
nzmax=4(>=max(i or j)),稀疏矩陣最多可以有nzmax個元素。
一些簡寫的情況:
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];
S = sparse(m,n)——sparse([],[],[],m,n,0)的縮寫,生成一個m*n的所有元素都是0的稀疏矩陣。
full函數
功能:把稀疏矩陣轉爲全矩陣
A=full(X)——把稀疏矩陣X轉換爲全矩陣存儲形式A。
matlab sparse matrix和full matrix