Clusters lables for fuzzy c mean

Hi,
I have used MATLAB code for fuzzy c mean clustering :
X= data set.
[centers,U] = fcm(X,3)
labels = ones(size(X,1),1);
for i = 1:size(X,1)
aux = U(i,:);
[elem,index] = max(aux);
labels(i,1) = index;
end
but I have an error which is :
Index exceeds matrix dimensions
Error in FCMtest (line 27)
aux = U(i,:);
Please could you determine where is the issue ?

2 Comments

whos X
whos U
What do you see in the command window?
shawin
shawin on 27 Dec 2020
Edited: shawin on 28 Dec 2020
Whos U
Name Size Bytes Class Attributes
U 3x1363 32712 double
---------------------------------------------------------------------
Whos X
Name Size Bytes Class Attributes
X 1363x2 21808 double
------------------------------------------------------------------------
How can we solve this issue, i can not change U ?

Sign in to comment.

 Accepted Answer

Replace
for i = 1:size(X,1)
aux = U(i,:);
[elem,index] = max(aux);
labels(i,1) = index;
end
with
[~, labels] = max(U, 1);

2 Comments

Error using max
MAX with two matrices to compare and two output arguments is not supported.
Error in FCMtest (line 15)
[~,labels]=max(U,1);
[~, labels] = max(U, [], 1);

Sign in to comment.

More Answers (0)

Categories

Community Treasure Hunt

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

Start Hunting!