MATLABでのビンにアイテムをソート
質問
私は、データYのセットと、Xを中心としたビンのセットを持っている場合は、
は、私が各ビンであるか、各Yの多くを見つけるためにHISTコマンドを使用することができます。
N = hist(Y,X)
各Yは、に入ったビンを私に伝えることができ、その関数に建てられている場合は、は、私が知りたいのですがどのようなものですので、
[N,I] = histMod(Y,X)
意味しているY(I == 1)などのビン1、内のすべてのYを返します。
私は、組み込みのMATLABでこれを行うこと。
がすでに存在する場合、私は唯一の疑問に思って、この関数を記述する方法を知っています解決
関連機能histc
はこれを行いますが、それは代わりにビンセンターのビンのエッジを定義する必要があります。
Y = rand(1, 10);
edges = .1:.1:1;
[N, I] = histc(Y, edges);
bincenters与えられたエッジを計算することは、あまりにも簡単です。 1つのライナーでます:
N = hist(Y, X);
タグになり
[Nc, Ic] = histc(Y, [-inf X(1:end-1) + diff(X)/2, inf]);
Ncの== Nと、プラス端に1つの余分な空のビン(IはYに値がINF一致しないと仮定しているため)。
doc histc
を参照してください。
他のヒント
一つは代わりのビンのビンのエッジを使用して満足している場合、
[N,bin] = histc(y,binedges)
作品。 Aaargh、あなたの関数の定義は非常に非直観
あるMATLAB所属していません StackOverflow