我很长一段时间没有使用过Matlab,现在我试图回到它。我的问题如下:
我想过滤掉矢量中的元素,例如,绝对值大于数据集标准偏差的平均值+两倍。然后我计算剩余系列的标准偏差并再次过滤。我想重复这个过程,直到不需要过滤掉其他元素。
我做了第一次这样的过滤:
indices = find(abs(x) > mean(x) + 2*std(x));
x(indices) = [];
但是我不太确定如何在此之后获得正确的循环,忘记了很多关于Matlab索引的内容。
答案 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