Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
计算某个单元格名称在单元格数组中出现的时间量[MATLAB]_Matlab - Fatal编程技术网

计算某个单元格名称在单元格数组中出现的时间量[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:摘要

如果您只想将结果打印到屏幕上,可以使用而不是直方图: