home *** CD-ROM | disk | FTP | other *** search
- function graderr(finite_diff_deriv, analytic_deriv, evalstr2)
- %GRADERR Used to check gradient discrepancy in optimization routines.
- err=max(max(abs(analytic_deriv-finite_diff_deriv)));
- disp(sprintf('Maximum discrepancy between derivatives = %g',err));
- if (err > 1e-6*norm(analytic_deriv) + 1e-5)
- disp('Warning: Derivatives do not match within tolernace')
- disp('Derivative from finite difference calculation:')
- finite_diff_deriv
- disp(['User-supplied derivative, ', evalstr2, ' : '])
- analytic_deriv
- disp('Difference:')
- analytic_deriv - finite_diff_deriv
- disp('Strike any key to continue or Ctrl-C to abort')
- pause
- end
-