Smoothing noisy increasing measurement/calculation
古いコメントを表示
I have a set of calculated values based on measured data (erosion through a pipe) where decreasing values are physically impossible. I want to smooth out the data and account for the fact that it is impossible to decrease, but don't want my new data to take giant jumps when the noise is significant. Any suggestions would me much appreciated.
採用された回答
その他の回答 (2 件)
John D'Errico
2014 年 2 月 18 日
2 投票
So use a tool like SLM (download from the file exchange) to fit a monotone increasing spline to the data, smoothing through the noise.
Image Analyst
2014 年 2 月 18 日
How about just scan the array and compare to the prior value?
for k = 2 : length(erosion)
if erosion(k) < erosion(k-1)
erosion(k) = erosion(k-1);
end
end
Simple, fast, intuitive.
2 件のコメント
Image Analyst
2014 年 2 月 18 日
Even if you do a sliding mean like Chad suggested, you'll still have to do my method (or equivalent) because you said that decreasing values are physically impossible. A sliding mean filter can have values that decrease so you'll have to scan for that and fix it when it occurs.
カテゴリ
ヘルプ センター および File Exchange で Smoothing and Denoising についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!