How to split a matrix based on array similarity

1 view (last 30 days)
Alex Rob
Alex Rob on 11 Dec 2016
Answered: michio on 12 Dec 2016
I have matrix A as follows:
A = [123 223 225 123
123 223 224 123
123 223 225 123
123 225 123 23
123 223 224 123
123 223 224 123
123 223 225 123
123 223 224 123
123 223 123 23
];
I want to find similar rows and have their row numbers in another set of matrices:
A1 = [1;2;3;4];
A2 = [5;6;7];
A3 = [8];
A4 = [9];
% numbers inside matrices A1 to A4 refers to row numbers in matrix A

Answers (1)

michio
michio on 12 Dec 2016
I am not sure how you define "similarity" but you can try out clustering functions available in Statistics and Machine Learning Toolbox to partition rows in A into k clusters.
clusterdata(A,'maxclust',4)
or
kmeans(A,4)

Community Treasure Hunt

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

Start Hunting!