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.
Define an example problem:
This integrates a differential system using the method "ExplicitEuler" with a fixed step size of :
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:
Here are the step sizes taken by the method "ExplicitRungeKutta" for this problem:
This specifies that fixed step sizes should be used for the method "ExplicitRungeKutta":
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 :
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: