2014-07-15 32 views
0

我有一個包含正實數int流的向量。一個元素跟隨另一個matlab的次數count

A = [1 2 1 1 3 2 ]; 

我想創建一個稀疏矩陣WW(WXW,W是多少,如果A的不同元件),其中W(i,j)包含的次數的計數元件A的i如下:A中的元件j流。

WW = 
    (1,1)  1 
    (1,2)  1 
    (1,3)  0 
    (2,1)  1 
    (2,2)  0 
    (2,3)  1 
    (3,1)  1 
    (3,2)  0 
    (3,3)  0 
+1

可不可以po st示例的輸出? – Ben

回答

1

這看起來像accumarray一個完美的工作:

result = accumarray([A(2:end).' A(1:end-1).'], 1, [], @sum, [], true); 

或者你也可以直接使用sparse

result = sparse(A(2:end), A(1:end-1), 1); 

在你的榜樣,無論是上面給出

result = 
    (1,1)  1 
    (2,1)  1 
    (3,1)  1 
    (1,2)  1 
    (2,3)  1 
相關問題