查找哪个字母最大出现次数

时间:2012-02-24 21:10:35

标签: matlab

我尝试使用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)] `
  

results =

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

现在我需要得到哪个字母最高的字母 如何知道指数?

2 个答案:

答案 0 :(得分:3)

mode function告诉您最常见的价值。

mostCommonLetter = mode(matchCell[:]);

答案 1 :(得分:2)

索引是函数max的第二个输出。

所以你应该这样做:

[~,index]=max(counts)
mostCommonLetter=matchCell{index};