finding most common letter in a bunch of words
Mostrar comentarios más antiguos
say I have a bunch of words
x={'abac';'abaca';'abacate';'abacay';'abacinate';'abacination';'abaciscus'}
What would I write to find the most common letter in x so for example Most_common_letter=%most common letter that appears in x
Respuesta aceptada
Más respuestas (2)
Guillaume
el 10 de Nov. de 2015
Two steps are required:
- build the histogram of the letters, however you want (using accumarray, histc or histcounts)
- find the max of the histogram
x = {'abac';'abaca';'abacate';'abacay';'abacinate';'abacination';'abaciscus'};
[letter, ~, pos] = unique([x{:}]);
letterhist = accumarray(pos, 1); %letter histogram
[~, maxidx] = max(letterhist);
fprintf('the most frequent letter is: %c\n', letter(maxidx));
x={'abac';'abaca';'abacate';'abacay';'abacinate';'abacination';'abaciscus'};
[h c] = hist(double([x{:}]), double('a':'z'))
[~, idx] = max(h);
char(c(idx))
Categorías
Más información sobre Numeric Types en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!