Numerical Solving of Differential Equations
The function NDSolve--the
all-in-one numerical
differential equation solver--has been completely
rewritten. Performance has been significantly improved, new classes of
equations can be solved, and the system will automatically select
between a wider range of methods to optimize the solution. Advanced
users gain increased control with new capabilities for monitoring the
progress of the solver, more options for evaluation and selection
methods, as well the ability to incorporate user-written custom
solvers into NDSolve.
Some of the most significant improvements include:
- More-efficient implementation leading to large speed increases for
many types of differential equations
- NDSolve
is now able to solve classes of differential-algebraic equations
- New additional solving methods including explicit Runge-Kutta
methods, implicit Runge-Kutta methods of arbitrary order, and
extrapolation methods
- NDSolve
is now able to solve (n+1)-dimensional partial
differential equations
- NDSolve
now supports vector and array variables
- New options EvaluationMonitor and StepMonitor allow monitoring of the
progress of the solution and more fine-tuning of the solving
procedure
- A new framework for inclusion of user-defined methods
- Additional advanced documentation covering applications, methods,
and options of NDSolve
NDSolve
chooses the appropriate method automatically,
according to problem type. It will also change methods during the
evaluation process if appropriate--for example, if an equation goes
from stiff to non-stiff or vice versa.
Example: Solving a Partial Differential Equation
This animation shows the application of the new numerical method of lines algorithm for solving the
Korteweg-de Vries equation demonstrating the nonlinear
interaction of
solitary waves. Excellent spatial resolution is achieved efficiently in
this example by use of a pseudospectral discretization method.
Example: Solving a Matrix Differential Equation
In this example we solve the matrix differential equation with initial condition . New support for vector and array
variables allows direct input into NDSolve.
Since the equation
is linear, the resturned solution is a numerical approximation to the
fundamental solution matrix. Of course, NDSolve
can handle nonlinear equations with vector and matrix variables as well.
Example: Solving a Differential Algebraic Equation
This plot shows how the concentrations of chemicals in a rector change
through the course of a reaction. The differential-algebraic equation
(DAE) modeling the reaction was solved in one step
by NDSolve,
which automatically determined the type of
equation and chose the method.
|