Function to find the more recurrent number
Mostra commenti meno recenti
Hye, I have a matrix 1 by (a big number, like 1000), and I would like to extract the element of the matrix that appears most of the time.
Can you help me?
Risposta accettata
Più risposte (3)
Walter Roberson
il 8 Ago 2011
Much more simple:
x = mode(Y);
5 Commenti
Liber-T
il 8 Ago 2011
Walter Roberson
il 8 Ago 2011
You must have an earlier MATLAB. mode() has been part of MATLAB for several versions, but I would have to research to find out when it was introduced.
Paulo Silva
il 8 Ago 2011
the mode function was introduced in the Service Pack 3 of Release 14 back in Setember 2005, I think it's the first time I see it, thanks for bring it up Walter :)
Liber-T
il 9 Ago 2011
Liber-T
il 9 Ago 2011
Paulo Silva
il 8 Ago 2011
Another possible way
a=randi([1 20],1,1000);
u=unique(a);
[C,I]=max(arrayfun(@(x)sum(a==u(x)),1:numel(u)));
disp('The value that appears most times is:')
u(I)
disp('Number of times it appears:')
C
In case of having two values that appear the same number of times it will choose just one of them.
huda nawaf
il 10 Ago 2011
0 voti
hi, see it please,
X=[1 1 1 2 3 4 4 4 0]; >> v=mode(X) ??? No appropriate methods for function mode. . I need the mode which compute frequencies of appearing of number. thanks
1 Commento
Liber-T
il 10 Ago 2011
Categorie
Scopri di più su Adaptive Control in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!