MATLAB Answers

sorting the outputs of clusters

19 views (last 30 days)
Haya A
Haya A on 18 Apr 2018
Commented: Walter Roberson on 19 Apr 2018
I applied K-means clustering, and I tried to sort the outputs of each cluster individually. for example, if I got 2 clusters, I want to sort the contents of each cluster, and save the result or the output in a table to reuse it again in another function.
how can I do that?
  1 Comment
Stephen Cobeldick
Stephen Cobeldick on 18 Apr 2018
Note that rather than saving data into separate variables it is usually easier and more versatile to split data into something like a cell array: then it will scale easily to a different number of clusters, and makes looping over them trivial. Read more about why here:

Sign in to comment.

Answers (1)

njj1 on 18 Apr 2018

What do you mean "sort". You could save them to different variables. For example, if you main matrix is called X and you have cluster information stored in a vector called idx, and there are two clusters numbered 1 and 2:

X1 = X(idx==1,:);
X2 = X(idx==2,:);

Is this what you mean?

Walter Roberson
Walter Roberson on 19 Apr 2018
Add all what vectors into one vector? And is this one vector per cluster or one vector total?
Are you asking to go through each cluster and sort() its centroid location??
Are you asking to go through the original points, separate them according to cluster number, concatenate all of the rows (that are the input values for clustering to work on) for the cluster into one vector and then sort that vector, even though that would mean sorting x, y, z, ... coordinates all together?
Are you assuming that your inputs are scalars for each sample (only one coordinate) and so the sorting of the different columns of coordinates together does not matter because there would only be one column?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!