MATLAB,在0到5之间,然后是5和10之间的向量中提取和保存值,依此类推

时间:2015-06-20 00:15:22

标签: matlab

我有一个介于0和180之间的列向量。我正在寻找一种方法来将所有值提取为0到5之间的列,然后是5到10之间的所有值,依此类推,最多可达180 ,然后将所有这些保存到单元格数组中。

我知道我可以使用这种技术:

range = data(5 <= data & data <= 10) 

但是为每个范围写出来似乎有点长篇大论

1 个答案:

答案 0 :(得分:1)

直截了当的方法是将代码包装成for循环,如下所示:

maxValue = 180;
data = randperm(maxValue);   %//some dummy data
binSize = 5;
numBins = maxValue / binSize;
ranges = cell(1, numBins);

for i = 1:numBins 
    ranges{i} = data(binSize  * (i - 1) <= data & data <= binSize  * i);
end