Нахождение, какое письмо имеет максимальное вхождение - PullRequest
2 голосов
/ 25 февраля 2012

Я попробовал Matlab и сеть, чтобы найти ответ, но тщетно, поэтому мне нужна ваша помощь Я использовал код ниже, чтобы найти количество вхождений букв в массиве;

characterCell = {'a' 'b' 'b' 'a' 'b' 'd' 'c' 'c'};  %# Sample cell array 
matchCell = {'a' 'b' 'c' 'd' 'e'};                  %# Letters to count      
[~,index] = ismember(characterCell,matchCell);  %# Find indices in matchCell 
counts = accumarray(index(:),1,[numel(matchCell) 1]);  %# Accumulate indices 
results = [matchCell(:) num2cell(counts)] `

Результаты =

'a'    [2] 
'b'    [3] 
'c'    [2] 
'd'    [1] 
'e'    [0] 

Теперь мне нужно узнать, какое письмо имеет наибольшее вхождение Как узнать индекс?

Ответы [ 2 ]

3 голосов
/ 25 февраля 2012

Функция режима сообщает вам наиболее частое значение.

mostCommonLetter = mode(matchCell[:]);
2 голосов
/ 25 февраля 2012

Индекс является вторым выходом функции max.

Таким образом, вы должны сделать:

[~,index]=max(counts)
mostCommonLetter=matchCell{index};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...