noisy plot after calculating first derivative

8 ビュー (過去 30 日間)
Fahime Sokhangou
Fahime Sokhangou 2022 年 5 月 17 日
コメント済み: Fahime Sokhangou 2022 年 5 月 18 日
Hi everyone
I have a problem.
I have a very smooth plots in MATLAB (fisrt capture which is the original y). I ataach one of them. whenever, I calculate the first, sencon and ... derivative of these data with finite differemnce equations, the graphs are not smooth anymore (first deivative=y').
all data are from numerical model (Abaqus).
what should I do?
is smoothing the soulution? if yes, which type of smoothing
Thanks

採用された回答

John D'Errico
John D'Errico 2022 年 5 月 17 日
You should recognize that differentiation is a noise amplification operator. So any small amounts of noise in your signal, even a tiny amount, will translate into a noisier mess in the derivative. Second derivativves are yet more difficult to estimate.
Should you try to smooth the derivative estimate? NO!!! (Was that a sufficiently emphatic no?) Instead, you need to smooth the signal itself, since that is where the noise lies. Why is that?
Suppose that your noisy function values are each corrupted with noise. Then when you compute the derivative, the noise is still there, and is amplified. But worse, now the noise in the derivative estimates is no longer what is called white noise, but now the neighboring points will be correlated with each other. Anyway, it is best if you just smooth the data itself, and then compute a derivative signal from that. You might use the function smooth, or perhaps a smoothing spline would be a good idea. Without having your data itself, it is difficult to know what may be best, but either of those tools would be a good choice.
  12 件のコメント
Fahime Sokhangou
Fahime Sokhangou 2022 年 5 月 18 日
@John D'Errico thanks a lot. I did smoothing and it works for first, second and third derivative with cubic spline (101 points) but for the fourth mode. it is still noisy.
I may use spline with more points.

サインインしてコメントする。

その他の回答 (0 件)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by