0

如何确定 MATLAB 向量中字符串值的相对频率?

vector = { 'aa', 'f', 'aa', 'f', 'f', 'h', 'k', 'k' };

什么函数将返回每个唯一元素的出现次数?

4

1 回答 1

5

此处已回答了一个类似的问题,需要来自 FEX 的文件。为此,您可以使用 MATLAB 中的内置函数。说,

vector = { 'aa', 'f', 'aa', 'f', 'f', 'h', 'k', 'k' };

一个可以使用

[u,~,n] = unique(vector(:));
B = accumarray(n, 1, [], @sum);
bar(B)
set(gca,'XTickLabel',u)

产生

在此处输入图像描述

编辑:借用Eitan T 的评论,可以使用histc而不是accumarray,即

B = histc(n,1:max(n));
于 2013-07-01T16:05:04.053 回答