home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 10 / 10.iso / l / l455 / 4.ddi / OPTIM.DI$ / GRADERR.M < prev    next >
Encoding:
Text File  |  1993-03-11  |  644 b   |  16 lines

  1. function graderr(finite_diff_deriv, analytic_deriv, evalstr2)
  2. %GRADERR Used to check gradient discrepancy in optimization routines. 
  3. err=max(max(abs(analytic_deriv-finite_diff_deriv)));
  4. disp(sprintf('Maximum discrepancy between derivatives  = %g',err));
  5. if (err > 1e-6*norm(analytic_deriv) + 1e-5) 
  6.     disp('Warning: Derivatives do not match within tolernace')
  7.     disp('Derivative from finite difference calculation:')
  8.     finite_diff_deriv
  9.     disp(['User-supplied derivative, ', evalstr2, ' : '])
  10.     analytic_deriv
  11.     disp('Difference:')
  12.     analytic_deriv - finite_diff_deriv
  13.     disp('Strike any key to continue or Ctrl-C to abort')
  14.     pause 
  15. end
  16.