用一些图案分类成不均匀的箱子

时间:2016-08-02 05:58:34

标签: matlab

我希望将以下数据<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.js"> </script>分成5个分区。

因此

x1 = [1 2 5 200 201]

如果x1(1) = 1st bin x1(2) = 2nd bin and ... x1(5) = 5th bin. 有6个值,请将x2放入5个区间。

因此

x2 = [1 2 5 70 200 201]

如果x2(1) = 1st bin x2(2) = 2nd bin x2(3) = 3rd bin x2(4) = 3rd bin x2(5) = 4th bin x2(6) = 5th bin 有7个值,请将x3放入5个区间。

因此

x3 = [1 2 5 10 70 200 201]

在真实数据集中,我有更多的观察结果,但它将分为5个区。

1 个答案:

答案 0 :(得分:1)

我不确定我是否理解您希望如何将数据分组到bin中。我建议看一下

Y=discretize(x1,edges);

[N, edges, bin]=histcounts(x1,5);

更新

如果您尝试均匀分组数据,可以随时执行:

X = 1:6; % Example data
Nbins=5; % number of bins
i=linspace(1,Nbins,length(X)); % distribute X evenly onto bin-space

[~,~,bin]=histcounts(round(i)); % bin evenly distributed data.

for j=1:Nbins
    binnedData{j}=X(bin==j);
end
celldisp(binnedData)

将输出均匀分布的数据分级。