5-5 OJ

本章前述各節中,適用於稀疏矩陣的相關指令,可列表彙整如下:

指令功能
B = sparse(A)將一個完全矩陣 A 轉換成稀疏矩陣 B
B = sparse(i, j, s, m , n )

直接產生一個稀疏矩陣 B,其中 :

  • i 是列索引
  • j 是行索引
  • s 是非零元素形成的向量
  • m 是 B 的列維度
  • n 是 B 的行維度
  • i、j、s 都是長度相同的向量
B = spdiags(D, p, m, n)

由矩陣 D 的對角線元素來建構一個稀疏矩陣 B,其中:

  • D 的每一個直行代表矩陣的對角線向量
  • p 代表對角線的位置(0 代表主對角線,-1 代表向下位移一單位的次對角線,1 代表向上位移一單位的次對角線,依此類推)
  • m 與 n 則分別代表矩陣的列維度與行維度
full(B)以完全矩陣來顯示矩陣 B
spconvert(C)

將一個 m×3 的矩陣 C,轉換成稀疏矩陣,其中:

  • 第一直行代表列索引
  • 第二直行代表行索引
  • 第三直行則是非零的元素值
nnz(C) 傳回稀疏矩陣 C 的非零元素個數
nonzeros(C)傳回稀疏矩陣 C 的所有非零元素形成的行向量
nzmax(C)傳回稀疏矩陣 C 的目前可容納非零元素個數的最大值,當nnz > nzmax 時,MATLAB 會動態調增配置記憶體給 nzmax,以儲存新增的非零元素
spy(C)觀看稀疏矩陣 C 的非零元素分佈情況
gplot(A, xy, '-o');畫出無向圖(Undirected Graph)
treeplot(nodes)畫出樹狀圖


MATLAB程式設計:進階篇