0

関数 histcnd をサイズ 744x2 の行列に適用しています。この関数は、特定のエッジ内の値の頻度を計算します。たとえば、エッジを 5 つの値のグループに設定したいのですが、それができないようです。

関数の構文は histcnd(X,edges) で、エッジは X の列数と同じ長さでなければなりません。「エッジ」を 2 列のベクトルとして定義して、それぞれの値をグループ化するにはどうすればよいですか? 5つの値ごとに列?

4

1 に答える 1

0

次のようなものを使用するのはどうですか:

X = randn(744,2);
[a,b] = size(X);
edges = num2cell([linspace(min(X(1,:)),max(X(1,:)),a/5); linspace(min(X(2,:)), max(X(2,:)),a/5)],2);

# not sure if it's the same histcnd, the one I found wants edges to be a cell array
H = histcnd(X, edges);

データについて何か知っている場合は、おそらくよりインテリジェントな方法で各軸の最小値/最大値を選択できます。

于 2012-01-27T15:55:05.823 に答える