我有一些數據,當繪製時看起來像附圖所示的左側。 它有一些扭曲,我想刪除和平滑,以獲得一個不錯的曲線[右圖]。刪除扭曲和平滑曲線
目前,我手動刪除扭曲並通過高階多項式插入刪除的部分[說9]。然後我重新填充已刪除的片段並重新繪製曲線。 這需要很長時間,我有很多文件需要處理。
你可以建議一個有效的方法來做到這一點嗎? [在MATLAB或其他方式]
非常感謝!
P.S:增加了一個情節澄清上述
我有一些數據,當繪製時看起來像附圖所示的左側。 它有一些扭曲,我想刪除和平滑,以獲得一個不錯的曲線[右圖]。刪除扭曲和平滑曲線
目前,我手動刪除扭曲並通過高階多項式插入刪除的部分[說9]。然後我重新填充已刪除的片段並重新繪製曲線。 這需要很長時間,我有很多文件需要處理。
你可以建議一個有效的方法來做到這一點嗎? [在MATLAB或其他方式]
非常感謝!
P.S:增加了一個情節澄清上述
我認爲這是一個簡單的低通濾波問題像@thewaywealk建議。去除扭結對應於消除信號中的某些高頻。這可以通過濾波器操作在matlab中實現。示範顯示在denoising a sinusoidal wave here。
謝謝,我肯定會給它一個鏡頭。我唯一擔心的是,如果我有一個很大的糾結,假設在數據中產生了一個相當長的步驟或抑鬱症:例如x軸總範圍的15%。那麼平滑自動化將非常困難。 –
剛剛又加了一塊情節來解釋我的意思。再次感謝。 –
在這種情況下,我會建議一個小波閾值方法,在小波基的不同比例下執行平滑。這在[matlab](http://www.mathworks.fr/fr/help/dsp/examples/wavelet-denoising.html)中也得到了證明/這正好適用於在x中出現不同比例的扭結尺寸。 – beedot
查看'filter'函數文檔中的移動平均值示例,它可以幫助您。 – thewaywewalk
謝謝,我會看看它。但是我認爲我曾嘗試過一次,如果數據有很大的糾結,結果並不令人滿意。 –