how to make sparse, group association

1 visualización (últimos 30 días)
Michael Sohl
Michael Sohl el 2 de Dic. de 2015
Editada: Michael Sohl el 2 de Dic. de 2015
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.

Respuesta aceptada

Guillaume
Guillaume el 2 de Dic. de 2015
Editada: Guillaume el 2 de Dic. de 2015
" 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 comentario
Michael Sohl
Michael Sohl el 2 de Dic. de 2015
Editada: Michael Sohl el 2 de Dic. de 2015
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!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Sparse Matrices en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by