Time-Stepping Methods
Was introduced to this in CS370.
Time-stepping applies a Recurrence Relation to approximate the function values at later and later times.
- Given , approximate . Given , approximate . etc.
There are several varieties/categories of time-stepping methods:
- Single-step vs. Multistep: do we use information only from the current time, or from previous timesteps too?
- Explicit vs. Implicit: Is given as an explicit function to evaluate, or do we need to solve an implicit equation?
- Timestep size: Do we use a constant timestep , or allow it to vary?
Methods:
- Forward Euler Method (explicit, single step)
- Trapezoidal Rule (implicit)
- Improved Forward Euler (explicit)
- Backward Euler
- Runge-Kutta Method
- Backwards Differentiation Formula (multi-step)
Implicit vs. Explicit Function
e.g., given and , determine . Explicit function ( only on one side):
- Easy β just evaluate
Implicit function ( on both sides):
- Harder β requires solving
Explicit vs. Implicit schemes
Explicit vs. Implicit Schemes
Explicit:
- Simpler, and fast to compute per step.
- Less stable β require smaller timesteps to avoid βblowing upβ. (More later!)
Implicit:
- Often more complex and expensive to solve per step.
- More stable β can safely use larger timesteps.