计算某个单元格名称在单元格数组中出现的时间量[MATLAB]
假设我有细胞阵列计算某个单元格名称在单元格数组中出现的时间量[MATLAB],matlab,Matlab,假设我有细胞阵列 Z = {'Pizza' 'Hamburger' 'Hamburger' 'Sushi' 'Bacon' 'Hamburger'} 我想计算某个单元格名称出现的时间, 所以输出应该是 Pizza = 1 Hamburger = 3 Sushi = 1 Bacon = 1 有没有一种方法可以使用基本的或易于理解的语法来实现这一点?我对此非常陌生,所以请解释你的答案,谢谢 您可以使用和来识别数组中的唯一单词,并计算它们的出现次数,使用将结果打印到控制台 例如: Z = {'Pi
Z = {'Pizza' 'Hamburger' 'Hamburger' 'Sushi' 'Bacon' 'Hamburger'}
我想计算某个单元格名称出现的时间,
所以输出应该是
Pizza = 1
Hamburger = 3
Sushi = 1
Bacon = 1
有没有一种方法可以使用基本的或易于理解的语法来实现这一点?我对此非常陌生,所以请解释你的答案,谢谢 您可以使用和来识别数组中的唯一单词,并计算它们的出现次数,使用将结果打印到控制台
例如:
Z = {'Pizza' 'Hamburger' 'Hamburger' 'Sushi' 'Bacon' 'Hamburger'};
% Get unique words & their indices in Z
[words, ~, wordidx] = unique(Z);
% Sum occurrences of indices to get count for each word
wordcounts = accumarray(wordidx, 1);
% Loop and print
for ii = 1:numel(words)
fprintf('%s = %u\n', words{ii}, wordcounts(ii))
end
其中打印:
Bacon = 1
Hamburger = 3
Pizza = 1
Sushi = 1
请注意,unique是区分大小写的,如果可以混合大小写,则应使用类似的方法规范化字符串数组,以避免计数问题。您可以使用和来识别数组中的唯一单词并计数它们的出现次数,并将结果打印到控制台
例如:
Z = {'Pizza' 'Hamburger' 'Hamburger' 'Sushi' 'Bacon' 'Hamburger'};
% Get unique words & their indices in Z
[words, ~, wordidx] = unique(Z);
% Sum occurrences of indices to get count for each word
wordcounts = accumarray(wordidx, 1);
% Loop and print
for ii = 1:numel(words)
fprintf('%s = %u\n', words{ii}, wordcounts(ii))
end
其中打印:
Bacon = 1
Hamburger = 3
Pizza = 1
Sushi = 1
请注意,unique是区分大小写的,如果可以混合大小写,则应使用类似的方法规范化字符串数组,以避免计数问题。您可以使用它将单元格字符数组转换为有限的离散类别集。之后,您可以使用计算每个类别出现的频率:
Z = {'Pizza' 'Hamburger' 'Hamburger' 'Sushi' 'Bacon' 'Hamburger'};
Z_ = categorical(Z);
h = histogram(Z_);
h.Categories % the different categories
h.Values % the number of occurrence
备选案文1:历史记录
如果您对绘图不感兴趣,可以使用
备选案文2:摘要
如果您只想将结果打印到屏幕上,可以使用而不是直方图:
可以使用将字符的单元格数组转换为有限的离散类别集。之后,您可以使用计算每个类别出现的频率:
Z = {'Pizza' 'Hamburger' 'Hamburger' 'Sushi' 'Bacon' 'Hamburger'};
Z_ = categorical(Z);
h = histogram(Z_);
h.Categories % the different categories
h.Values % the number of occurrence
备选案文1:历史记录
如果您对绘图不感兴趣,可以使用
备选案文2:摘要
如果您只想将结果打印到屏幕上,可以使用而不是直方图: