# Adaptive stepping of a discrete time system

I have a discrete time system of the form $$\mathbf{y}[k+1] = f(\mathbf{y}[k])$$ that I want to step until a specific condition $$g(\mathbf{y}[K]) < 0,$$ usually $$K\sim1000$$.

Evaluations of $$f$$ are expensive, but $$f$$ is pretty well-behaved: for example there are lots of cases where $$f$$ is constant, or close to linear in $$k$$, for $$50 < k < K-50$$. In that region I could easily extrapolate over several steps to avoid having to calculate $$f$$ at each step, but close to the ends I need to be more careful.

So my question is: are there any adaptive stepping algorithms for cases like this, which tell me how many steps I can extrapolate over? e.g. a discrete version of Dormand-Price?

New contributor
Tino Sulzer is a new contributor to this site. Take care in asking for clarification, commenting, and answering. Check out our Code of Conduct.