Próbowałem znaleźć odpowiedź w Matlabie i sieci, ale na próżno, więc potrzebuję twojej pomocy. Użyłem poniższego kodu, aby znaleźć liczbę wystąpień liter w tablicy;

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)] `

Wyniki =.

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

Teraz muszę dowiedzieć się, która litera ma najwięcej wystąpień Jak poznać indeks?

2
pac 25 luty 2012, 01:10

2 odpowiedzi

Najlepsza odpowiedź

Indeks jest drugim wyjściem funkcji max.

Więc powinieneś zrobić:

[~,index]=max(counts)
mostCommonLetter=matchCell{index};
2
Oli 25 luty 2012, 01:19

funkcja trybu podaje najczęstszą wartość.

mostCommonLetter = mode(matchCell[:]);
3
David Cary 25 luty 2012, 01:54