如何确定MATLAB向量中字符串值的相对频率?
vector = { 'aa', 'f', 'aa', 'f', 'f', 'h', 'k', 'k' };
什么函数会返回每个唯一元素的出现次数?
答案 0 :(得分:5)
类似的问题已经回答here,需要来自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's comment借用histc
代替accumarray
,即
B = histc(n,1:max(n));