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 に答える