我尝试使用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]
现在我需要得到哪个字母最高的字母 如何知道指数?
答案 0 :(得分:3)
mode function告诉您最常见的价值。
mostCommonLetter = mode(matchCell[:]);
答案 1 :(得分:2)
索引是函数max
的第二个输出。
所以你应该这样做:
[~,index]=max(counts)
mostCommonLetter=matchCell{index};