I want to link data points based on ids (which are linked numerically) and then make clusters; finally deriving all the clusters + know each cluster size?
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
ANINDYA GANGULY
el 10 de Sept. de 2021
Comentada: ANINDYA GANGULY
el 11 de Sept. de 2021
Since I am new to matlab, I am noob on coding; Could some one help me figure out a code when using the ids it would feasible to build clusters and stop when a cluster is built and start a new cluster and so on...
I have attached the input file for your reference.
Thanks in advance
J
0 comentarios
Respuesta aceptada
Walter Roberson
el 10 de Sept. de 2021
filename = 'https://www.mathworks.com/matlabcentral/answers/uploaded_files/734224/Test%20file.xlsx';
T = readtable(filename, 'VariableNamingRule', 'preserve');
ns = T.id; nd = T.id_1;
mask = nd ~= 0;
s = ns(mask); d = nd(mask);
nd = T.id_2;
mask = nd ~= 0;
s = [s; ns(mask)]; d = [d; nd(mask)];
nd = T.id_3;
mask = nd ~= 0;
s = [s; ns(mask)]; d = [d; nd(mask)];
nd = T.id_4;
mask = nd ~= 0;
s = [s; ns(mask)]; d = [d; nd(mask)];
G = graph(s, d);
plot(G)
bins = conncomp(G);
The bins can be analyzed to extract the connected components. At the moment I do not know of any nice way of doing that.
5 comentarios
Walter Roberson
el 11 de Sept. de 2021
If coordinates are available, then the graph() object plot() method can be told to use them.
I am not sure what you mean about color codes? Do you mean that you want atoms to be colored according to their type, or do you mean that you want each molecule to be a different color than the other molecules ?
Más respuestas (0)
Ver también
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!