find most frequent characters in a string

6 visualizzazioni (ultimi 30 giorni)
I have a string and I want to find the most frequent characters that appear in it. Is there anyway to do this with matlab?

Risposta accettata

Walter Roberson
Walter Roberson il 13 Dic 2011
mode()
  3 Commenti
David Young
David Young il 13 Dic 2011
char(mode(double(str)))
Walter Roberson
Walter Roberson il 13 Dic 2011
David's code is fine. It could also be written more concisely as
char(mode(0+str))

Accedi per commentare.

Più risposte (1)

David Young
David Young il 13 Dic 2011
One way to get the commonest n characters, in descending order of frequency:
>> str = 'hello world';
>> n = 5; % number of characters to report
>> [~, c] = sort(hist(double(str), 0:255), 'descend');
>> f = char(c(1:n)-1)
f =
lo de
There may well be numerous better ways.

Community Treasure Hunt

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

Start Hunting!

Translated by