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));