[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: diff(x) question

From: George White
Subject: RE: diff(x) question
Date: Tue, 19 Jan 1999 19:37:05 -0400 (AST)

On Tue, 19 Jan 1999, Van den Eynde Gert wrote:

> > Diff computes forward differences. Not the derivative. If you want to 
> > approximate the derivative by using forward differences you have to 
> > divide by the step h with which you make your function discrete.
> > In this case h = .1
> > 
> > 
> > df          f(t+h) - f(t)
> > -- (t) =~  --------------- + O(h)
> > dt                h
> > 
> just want to update my previous answer.
> I suggest to use a symmetrical formula
> (f(t+h) - f(t-h))/(2h)
> this gives an error of O(h^2) AND you can use Richardson extrapolation
> (extrapolation to the limit). IMHO, this is a good way to compute a
> numerical derivative.
> Gert Van den Eynde

Neither of the above is appropriate for machine arithmetic.  For
example, the first formula above should replace "h" with "h2" as follows:

      tmp=t;t = t+h;h2 = t-tmp;t = tmp;

This is necessary since t+h will not, in general, be representable in
machine arithmetic.  The assignment of t to tmp is intended to remind the
reader that optimizing compilers may simplify away the necessary
distinction.  What does octave do with: 


and will future version do the same?

George White <address@hidden> Halifax, Nova Scotia

reply via email to

[Prev in Thread] Current Thread [Next in Thread]