diff options
Diffstat (limited to 'math/bevington/fderiv.f')
-rw-r--r-- | math/bevington/fderiv.f | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/math/bevington/fderiv.f b/math/bevington/fderiv.f new file mode 100644 index 00000000..720953cb --- /dev/null +++ b/math/bevington/fderiv.f @@ -0,0 +1,39 @@ +c subroutine fderiv.f (non-analytical) +c +c source +c Bevington, page 242. +c +c purpose +c evaluate derivatives of function for least-squares search +c for arbitrary function given by functn +c +c usage +c call fderiv (x, i, a, deltaa, nterms, deriv) +c +c description of parameters +c x - array of data points for independent variable +c i - index of data points +c a - array of parameters +c deltaa - array of parameter increments +c nterms - number of parameters +c deriv - derivatives of function +c +c subroutines and function subprograms required +c functn (x, i, a) +c evaluates the fitting function for the ith term +c + subroutine fderiv (x,i,a,deltaa,nterms,deriv) + dimension x(1),a(1),deltaa(1),deriv(1) + real FUNCTN + external FUNCTN + +11 do 18 j=1,nterms + aj=a(j) + delta=deltaa(j) + a(j)=aj+delta + yfit=functn(x,i,a) + a(j)=aj-delta + deriv(j)=(yfit-functn(x,i,a))/(2.*delta) +18 a(j)=aj + return + end |