how to make sparse, group association

I have a 129202x2 double and this represents different people's associations with certain "groups". On a row we have a group number (column1) och a person id (column2). I wish to create a sparse matrix when G(i,j)=1 means that person j is connected to group i. I would prefer the matrix to be symmetric. Don't send me the link to matlab sparse page, please. I don't get it.

 採用された回答

Guillaume
Guillaume 2015 年 12 月 2 日
編集済み: Guillaume 2015 年 12 月 2 日

0 投票

" I would prefer the matrix to be symmetric." Why should it be? If person 1 and 2 are associated with group 4, it does not mean that person 4 is associated with group 1 and 2. There's not even a guarantee your matrix will be square unless you have the same number of groups as persons.
"Don't send me the link to matlab sparse page, please. I don't get it." Maybe you should try getting it, otherwise you won't get very far.
demodata = [1 5
1 3
2 4
1 4
2 1
3 2];
connections = sparse(demodata(:, 1), demodata(:, 2), 1)
Also note that your original storage is actually more efficient in term of memory than the sparse matrix since you don't have to store the '1' that carries no information.

1 件のコメント

Michael Sohl
Michael Sohl 2015 年 12 月 2 日
編集済み: Michael Sohl 2015 年 12 月 2 日
Thank you. The fact is that I have tried to read the description for S = sparse(i,j,v) loads of times. Can't digest the mathematical way of describing it though. Thanks again!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeSparse Matrices についてさらに検索

タグ

質問済み:

2015 年 12 月 2 日

編集済み:

2015 年 12 月 2 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by