help-octave
[Top][All Lists]
Advanced

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

Numerical differentiation, recursion of functions not working


From: Stefan Neumann
Subject: Numerical differentiation, recursion of functions not working
Date: Sun, 28 Mar 2010 03:29:12 +0200

Hi,

I am trying to numerically differentiate functions. That is no problem, using differential quotients works fine.

But differentiating 2nd order leads to some strange results.
If I calculate by a formula I get correct results, but if I do the (to me) obvious and differentiate the differentiation, meaning dx(dx(x)) , the the results are way off.



This is an example, differentiating 3 different ways:

function y=f(x) y=(x-2).*(x-1).*(x+2) ; endfunction

function dx=dx(x)     dx =(f(x+1e-5)-f(x-1e-5))/2/1e-5 ; endfunction            % central diff-quotient 1st order

function d2x=d2x(x)   d2x=(f(x+1e-5)-2*f(x)+f(x-1e-5))/(1e-5*1e-5) ; endfunction  % central 2nd diff-quotient
function e2x=e2x(x)   e2x=(dx(x+1e-5)-dx(x-1e-5))/2/1e-5 ; endfunction                   % central diff-quotient of central diff-quotient
function f2x=f2x(x)   f2x=dx(dx(x)) ; endfunction                                                                     % calculate d2x() by recursing dx()

Result:    d2x() = e2x()   but f2x() is completely different.

Why is that?

Stefan



reply via email to

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