如何确定 MATLAB 向量中字符串值的相对频率?
vector = { 'aa', 'f', 'aa', 'f', 'f', 'h', 'k', 'k' };
什么函数将返回每个唯一元素的出现次数?
如何确定 MATLAB 向量中字符串值的相对频率?
vector = { 'aa', 'f', 'aa', 'f', 'f', 'h', 'k', 'k' };
什么函数将返回每个唯一元素的出现次数?
此处已回答了一个类似的问题,需要来自 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));