Mathematica Products
-----
 /
Mathematica
*Fast Dense Numerical Linear Algebra
*High-Speed Sparse Linear Algebra
*Large-Scale Linear Systems
*Big-Number Arithmetic
*64-Bit Platform Support
*Faster MathLink
<Numerical Solving of Differential Equations
*Numerical Equation Solving
*Fitting Data
*Numeric Optimization
*DSolve
*RSolve
*Reduce
*Resolve
*FindInstance
*Symbolic Global Optimization
*Wider Support For Domain Specifications
*Connection Technology
*Importing and Exporting
*Statistical Plots
*Collecting Expressions During Evaluation
*New Linear Algebra Functions
*Algebraic Number Objects
*Authoring and Presentation
*Summary of New Features
*Ask about this page

Numerical Solving of Differential Equations

See What's New in Wolfram Mathematica 6

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.

More Details PreviousNext

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 X' (t) == A . X (t) with initial condition X(0). 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.

NDSolve[{X' (t) == -( [row 1] 1  2  3   [row 2] 4  5  6  [row 3] 7  8  9 ) . X (t), X (0) == ( [row 1] 1  0  0   [row 2] 0  1  0  [row 3] 0  0  1 ) }, X[6], {6, 0, 3} ] ;

Solution graph

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.

NDSolve[{
   y1'(t) [LongEqual] 10^4 y2(t) y3(t) - 0.04 y1(t), 
   y2'(t) [LongEqual] -3 10^7 y2(t)^2 - 10^4 y3(t) y2(t) + 0.04 y1(t),
   y1(t) + y2(t) + y3(t) == 1,
   y1(0) [LongEqual] 1, y2(0) [LongEqual] 0, y3(0) [LongEqual] 0
}, {y1, y2, y3}, {6, 0, 1000000}];

Graph: Idealized chemical reaction with 3 reactants


Related Links


Documentation from The Mathematica Book Documentation from The Mathematica Book
Numerical Mathematics in Mathematica
Numerical Solution of Differential Equations
Advanced Topic: Monitoring and Selecting Algorithms
  
Link from Advanced Documentation Advanced Documentation
NDSolve
  
Documentation from the Reference Guide Documentation from the Reference Guide
NDSolve
EvaluationMonitor
StepMonitor
  
Other Links Other Links
Automatic Algorithm Selection (Key Technology)



Back to Top PreviousNext



 © 2008 Wolfram Research, Inc.  Terms of Use  Privacy Policy | [ja]