分箱 1:9 -> 等号元胞数组的分箱
Binning 1:9 -> bin of equal number cell array
以下简单问题:我想将向量放入 大小相等的容器 .
的元胞数组 groups
中
我有困难解决,我有一种强烈的感觉可能是单线的,这是我所取得的进展:
nums=1:9; %numbers to bin
categories=discretize(nums,3); %put nums in 3 equal groups
groups=mat2cell(x); % should return: {1:3,4:6,7:9}
我错过了什么?
该解决方案应该适用于任何包含数字的一维向量,尽可能将其放入大小相等的箱中(任何解决方案都适用);输出应该是各个 bin 的元胞数组。
result = num2cell(reshape(1:9,3,[]),1);
如果数组大小不能被 bin 数整除,您可以使用 histcounts
and mat2cell
:
nbins = 3;
a= [2 3 1 8 7 6 9 8 1];
result = mat2cell(a,1,histcounts(1:numel(a),nbins));
以下简单问题:我想将向量放入 大小相等的容器 .
的元胞数组groups
中
我有困难解决,我有一种强烈的感觉可能是单线的,这是我所取得的进展:
nums=1:9; %numbers to bin
categories=discretize(nums,3); %put nums in 3 equal groups
groups=mat2cell(x); % should return: {1:3,4:6,7:9}
我错过了什么?
该解决方案应该适用于任何包含数字的一维向量,尽可能将其放入大小相等的箱中(任何解决方案都适用);输出应该是各个 bin 的元胞数组。
result = num2cell(reshape(1:9,3,[]),1);
如果数组大小不能被 bin 数整除,您可以使用 histcounts
and mat2cell
:
nbins = 3;
a= [2 3 1 8 7 6 9 8 1];
result = mat2cell(a,1,histcounts(1:numel(a),nbins));