Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 宾宁1:9->;等数单元阵列的存储单元_Matlab_Bin_Binning - Fatal编程技术网

Matlab 宾宁1:9->;等数单元阵列的存储单元

Matlab 宾宁1:9->;等数单元阵列的存储单元,matlab,bin,binning,Matlab,Bin,Binning,下面是一个简单的问题:我想把一个向量放入一个大小相等的单元数组组 我在解决问题时遇到了困难,我有一种强烈的感觉,那就是我可以成为一名一线队员,以下是我取得的成绩: 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} 我错过了什么 该解决方案应适用于任何包含数字的一维向量,将其放

下面是一个简单的问题:我想把一个向量放入一个大小相等的单元数组

我在解决问题时遇到了困难,我有一种强烈的感觉,那就是我可以成为一名一线队员,以下是我取得的成绩:

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}
我错过了什么

该解决方案应适用于任何包含数字的一维向量,将其放入尽可能大小相等的容器中(任何解决方案都有效);输出应该是各个存储箱的单元阵列。

您可以使用和:

如果数组大小不能被可使用的存储箱数整除,则:


垃圾箱是按原始顺序还是按其值的递增顺序使用数字构建的?如果箱子大小不除以元素数量,输出应该是什么?分配给
nums
元素的类别被
categories=离散化(nums,3)
{1:2,3:5,6:9}
,而不是
{1:3,4:6,7:9}
。你的预期结果是什么?@你是对的。预期的结果是拥有尽可能大小相同的料仓(具有fleixble料仓大小)。使用discretize是谷歌搜索的结果,读取
[Y,E]=discretize(X,N)将X的范围划分为N个统一的存储箱,并从文档中返回存储箱边缘E。
,意外结果,apologies@LuisMendo顺序不重要,我猜输出大小可能会关闭,即10->3个箱子中的箱子->3,3,4个箱子
result = num2cell(reshape(1:9,3,[]),1);
nbins = 3;
a= [2 3 1 8 7 6 9 8 1];
result = mat2cell(a,1,histcounts(1:numel(a),nbins));