1 #!/usr/bin/octave --silent
3 function dd = divided_difference(f, xs)
4 ## Compute divided difference of `f` at points `xs`. The argument `xs`
5 ## is assumed to be a vector containing at least one element. If it
6 ## contains n elements, the (n-1)st divided difference will be
11 ## Can't do anything here. Return nothing.
17 ## Order > 1, recurse.
20 f0 = divided_difference(f, xs(1:end-1));
22 f1 = divided_difference(f, xs(2:end));
24 # http://mathworld.wolfram.com/DividedDifference.html
25 dd = (f0 - f1)/(xs(1) - xs(end))