2014-03-12 82 views
-2

我很久沒有使用Matlab了,現在我正試圖重新進入它。我的問題如下:在Matlab中過濾出數組/元素中的元素

我想濾除矢量中的元素,例如絕對值大於平均值+數據集標準偏差的兩倍。然後我計算剩餘系列的標準偏差並再次過濾。我想重複這個過程,直到沒有其他元素需要被濾除。

我已經完成了第一過濾這樣的:

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

但我不太知道如何讓while循環後正確的,已經忘了很多關於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