How to split a matrix based on array similarity

3 次查看(过去 30 天)
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

回答(1 个)

michio
michio 2016-12-12
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)

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by