[Scilab-users] Numerical Differentiation

Dang, Christophe Christophe.Dang at sidel.com
Mon Mar 24 09:41:25 CET 2014


Hello,

> De la part de Samuel Enibe
> Envoyé : samedi 22 mars 2014 19:01
>
> May I know the best way to determine dy/dx for the data set.

The best way is the way that gives you accurate results in the minimal time.

If you have an analytical model, the best is to fit it and then derive the function, with numdiff().

You can otherwise perform a Savitzky-Golay smoothing, which also gives you the derivative, see e.g.
https://commons.wikimedia.org/wiki/File:Savitzky-golay_pic_gaussien_bruite.svg?uselang=en

If you excpect a very low noise, then you can assume the points are at their "exact" position. Then, if you suppose the second derivative is small, you can use a simple slope calculation such as

yprime = diff(y)./diff(x)
plot(x(1, $-1), yprime)

which is the fastest method, but also the most sensitive to noise.

If the second deriative is not negligible, you may use the spline interpolation proposed by Radovan, but you may just use the step

yprime = splin(x, y)
plot(x, yprime)

Best regards.

-- 
Christophe Dang Ngoc Chan
Mechanical calculation engineer

______________________________________________________________________

This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error), please notify the sender immediately and destroy this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden.
______________________________________________________________________



More information about the users mailing list