在MATLAB中拉出矩阵的子集

时间:2010-06-24 01:18:43

标签: matlab

我想聚类一个数组,这个数组包含一些角度我想要计算这些度数之间的差异并在这个数组之间选择一个组,这个组应该有最大数量,并且该成员之间的差异不应该是大于特定数字。

例如,如果特定数字 30 和数组是

[10 20 30 40 100 120 140]
答案应该是

[10 20 30 40]

100- 30 > = 30 所以不包括在内。

2 个答案:

答案 0 :(得分:5)

单线解决方案:

a = [10 20 30 40 100 120 140];
s = 30;

b = a( abs(a-s) < s )

答案 1 :(得分:0)

a = [10 20 30 40 100 120 140]; #initial array
b = []; #result array
s = 30;
for i = 1:length(a)
    if abs(a(i) - s) < s
        b = [b a(i)];
    end
end