-- nderiv.adb compute formulas for numerical derivitives -- order is order of derivitive, 1 := first derivitive, 2 := second -- points is number of points where value of function is known -- f(x1), f(x2), f(x3) ... f(x points) -- term is the point where derivitive is computer -- f'(x1) := (1/bbh)*( a(1)*f(x1) + a(2)*f(x2) -- + ... + a(points)*f(x points) -- algorithm: use divided differences to get polynomial p(x) that -- approximates f(x). f(x):=p(x)+error term -- f'(x) := p'(x) + error term' -- substitute xj := x1 + (j-1)*h -- substitute x := x1 to get p'(x1) etc with Integer_Arrays; use Integer_Arrays; procedure nderiv(order : Integer; -- first derivitive is 1, second is 2, etc npoints : Integer; -- number of points used to compute point : Integer; -- compute derivitive at this point 1, 2, a : out Integer_Vector; -- integer coefficients bb : out Integer); -- denominator