Matlab 如何提取稀疏矩阵的元素?

Matlab 如何提取稀疏矩阵的元素?,matlab,extract,extraction,sparse-matrix,Matlab,Extract,Extraction,Sparse Matrix,我有一个稀疏矩阵: A= (14,13) 0.5286 (15,14) 0.6781 (16,15) 0.5683 (17,16) 1.2773 (18,17) 1.0502 (19,18) 0.4966 (21,19) 0.9951 (21,20) 0.4522 (22,21) 0.8507 (23,22) 1.0727 (24,23)

我有一个稀疏矩阵:

 A=


  (14,13)      0.5286
  (15,14)      0.6781
  (16,15)      0.5683
  (17,16)      1.2773
  (18,17)      1.0502
  (19,18)      0.4966
  (21,19)      0.9951
  (21,20)      0.4522
  (22,21)      0.8507
  (23,22)      1.0727
  (24,23)      0.8288
  (25,24)      0.5811
  (26,25)      0.8235
  (28,26)      1.5128
  (30,28)      0.7966
  (30,29)      0.6363
  (31,29)      0.8254
  (32,31)      0.8573
  (33,32)      1.0753
这是最小生成树的结果。现在我想提取
13,14,15,…26,28,29,…33
。 如图所示,27不在数字之间。因此,
pred
give:
131415161718192122324242562829293132
20和33不是。 如何提取顶部显示的数字总数

[ii jj] = find(A);
answer = unique([ii(:); jj(:)]);
我应该这样做

请注意,带有两个输出的
find
命令提供了所有非零元素的行和列索引。因为您有一个最小生成树,所以您关心的每个数字都需要在行或列中至少出现一次(例如,您的矩阵在第一个索引中从来没有数字
29
,但它出现在第二个索引中)

unique
功能确保出现的每个数字只表示一次