在Matlab中过滤出数组/向量中的元素

时间:2014-03-12 16:57:10

标签: matlab

我很长一段时间没有使用过Matlab,现在我试图回到它。我的问题如下:

我想过滤掉矢量中的元素,例如,绝对值大于数据集标准偏差的平均值+两倍。然后我计算剩余系列的标准偏差并再次过滤。我想重复这个过程,直到不需要过滤掉其他元素。

我做了第一次这样的过滤:

indices = find(abs(x) > mean(x) + 2*std(x));
x(indices) = [];

但是我不太确定如何在此之后获得正确的循环,忘记了很多关于Matlab索引的内容。

1 个答案:

答案 0 :(得分:0)

也许是这样的......

indices = find(abs(x) > mean(x) + 2*std(x));    
while any(indices)
     x(indices) = [];
     indices    = find(abs(x) > mean(x) + 2*std(x));    
end