EvaluationMonitor

EvaluationMonitor

is an option for various numerical computation and plotting functions that gives an expression to evaluate whenever functions derived from the input are evaluated numerically.

Details

  • The option setting is normally given as EvaluationMonitor:>expr. The :> is used instead of -> to avoid expr being immediately evaluated.
  • Whenever expr is evaluated, all variables in the numerical computation are assigned their current values. Block[{var1=val1,},expr] is effectively used. »

Examples

open allclose all

Basic Examples  (3)

Print information with every function evaluation used to find a root:

Count evaluations:

Use Reap and Sow to collect evaluation data:

Show the superlinear convergence of the method:

Scope  (5)

Monitor the solution progress when solving the sineGordon PDE:

Evaluations for a numerical minimization:

Evaluations for computing a numerical integral with NIntegrate:

Show a plot of the evaluation position versus evaluation number:

Evaluations for solving a differential equation with NDSolve with a extrapolation method:

A plot shows that with this method, not all evaluations are on the solution curve:

Count evaluations for doing a surface plot:

When the function is evaluated, it takes fewer evaluations since symbolic derivatives are used:

Generalizations & Extensions  (2)

Evaluate any expression:

With a different starting value, the computation is stopped:

Distinguish between function and derivative evaluations in doing a numerical minimization:

Show function, gradient, and Hessian evaluations in blue, yellow and red, respectively:

Applications  (6)

Show where evaluations were done for part of a plot using a tooltip that indicates order:

Show number of evaluations required to find a root as a function of starting value:

Compare evaluations required for different local minimization methods:

Compare evaluations and timing required for different ODE integration methods in NDSolve:

Steps and evaluations as a function of PrecisionGoal and AccuracyGoal in NDSolve:

Use a fixed order explicit RungeKutta method:

Use an adaptive order extrapolation method:

Compare the two methods. Beyond a goal of about 12, adaptive order is clearly superior:

Evaluations in parameter space for a nonlinear fit:

The evaluation points on a contour plot of the sum of squares:

Use a better starting value:

Compare the two fits with the data:

Properties & Relations  (1)

Evaluation done for EvaluationMonitor is scoped like Block:

This is effectively using Block with assignments of numerical values of the variable:

Introduced in 2003
 (5.0)
 |
Updated in 2007
 (6.0)