"FixedStep" Method for NDSolve

Introduction

It is often useful to carry out a numerical integration using fixed step sizes.

For example, certain methods such as "DoubleStep" and "Extrapolation" carry out a sequence of fixed-step integrations before combining the solutions to obtain a more accurate method with an error estimate that allows adaptive step sizes to be taken.

The method "FixedStep" allows any one-step integration method to be invoked using fixed step sizes.

This loads a package with some example problems and a package with some utility functions.

In[1]:=
Click for copyable input

Examples

Define an example problem.
In[3]:=
Click for copyable input
Out[3]=
This integrates a differential system using the method "ExplicitEuler" with a fixed step size of .
In[4]:=
Click for copyable input
Out[4]=
Actually the "ExplicitEuler" method has no adaptive step size control. Therefore, the integration is already carried out using fixed step sizes so the specification of "FixedStep" is unnecessary.
In[5]:=
Click for copyable input
Out[6]=
Here are the step sizes taken by the method "ExplicitRungeKutta" for this problem.
In[7]:=
Click for copyable input
Out[8]=
This specifies that fixed step sizes should be used for the method "ExplicitRungeKutta".
In[9]:=
Click for copyable input
Out[10]=

The option MaxStepFraction provides an absolute bound on the step size that depends on the integration interval.

Since the default value of MaxStepFraction is the step size in this example is bounded by one-tenth of the integration interval, which leads to using a constant step size of .
In[11]:=
Click for copyable input
Out[13]=
By setting the value of MaxStepFraction to a different value, the dependence of the step size on the integration interval can be relaxed or removed entirely.
In[14]:=
Click for copyable input
Out[15]=

Option Summary

option name
default value
MethodNonespecify the method to use with fixed step sizes

Option of the method "FixedStep".