A differential equation for strength progression modeling
- 11. November 2016 (modified 11. September 2019)
- #mathematics, #strength
Strength athletes and coaches may be interested in modeling how strength levels increase over time. In this article we derive the following model function for this purpose:
This function can be used to model athletic ability, or any similar quantity assumed to grow exponentially. Adjusting the value of \(k\) changes the non-linearity of the equation. In this article we derive the equation above from first principles and examine its properties.
Table of contents
A differential equation as the starting point
We are interested in studying strength \(S\) as a function of time \(t\). Assuming that the change in strength is proportional to the difference between some maximal strength level (genetic potential) \(S_{m}\) and the current level of strength \(S(t)\), we obtain a linear differential equation
This equation says that when an athlete is far from his genetic potential his increase in strength will be greater, and models the familiar “beginner’s gains.” We assume that the current level of strength is known, and impose the initial condition \(S( t_{i} ) = S_{i}\). The variable \(t_{i}\) denotes the initial time and \(S_{i}\) denotes the initial strength level.
Solving the differential equation above and imposing the initial condition yields the solution
Note that the initial condition is satisfied, and the solution approaches \(S_{m}\) as \(t\) goes to infinity.
Non-dimensionalizing the exponent
We non-dimensionalize the exponent \(k\left ( t_{i}-t \right )\) to make \(k\) independent of the time range \(t_{f}-t_{i}\), where \(t_{f}\) denotes the final time of the time range we’re modeling. Having a model that is independent of the time range will be convenient in the following derivations.
We modify the exponent so that it becomes
We denote the fraction in the above as \(\alpha(t)\) for notational simplicity. The solution \eqref{eqn_solution} may then be written as
Note that \(\alpha(t_{i}) = 0\) and \(\alpha(t_{f}) = -1\). The plot below shows \eqref{initial} for several values of \(k\), where \(S_i = 100\), \(S_m = 110\), \(t_i = 1\) and \(t_f = 8\). This could represent an athlete going from a \(100\) kg bench press to \(110\) kg in \(8\) weeks.
Adding an affine function
The problem at the final time
The model function for \(S(t)\) is forced to obey the initial condition \(S(t_i) = S_i\), and by tweaking \(k\) the overall shape is altered. The problem is that \(S(t)\) is not fixed at \(t_{f}\). To fix it we wish to impose the condition:
There is not enough freedom in \eqref{initial} to do this. We wish to perturb the solution gently so it hits the mark at \(t_{f}\). The least volatile perturbation with enough freedom is an affine function.
Adding an affine function to the solution
We modify equation \eqref{initial} by adding an affine term to it:
The function \(L(t)\) is given by \(L(t) = at+b\), and we choose \(a\) and \(b\) to satisfy
The affine function will not interfere at \(t_{i}\), where we are happy. However \(S(t)\) will undershoot at \(t_{f}\), and \(L(t)\) will correct the undershoot. We get the linear system:
The solution to the system of equations is given by:
Inserting this into the original equation and dropping the “mod” subscript yields
We recognize that \(\alpha(t)\) appears again, and pulling this out yields the final model
Using the model equation
Here are some notes on practical use of the model.
- The value of \(k\). The parameter \(k\) is a function of both the time range and the experience of the athlete. Setting \(k \approx 0\) yields an affine function, well suited for novice lifters and short time ranges. Long term planning requires \(k > 0\), and experienced athletes require periodization in addition to non-linearity.
- Periodization. Periodization can be added by introducing multiplicative or additive sine terms, or sawtooth functions, or varying amplitudes and frequencies.
The figure below shows several \(52\) week strength progression plans with periodization implemented as a multiplicative sine term. Setting \(k >0\) is typically appropriate for long-term planning where it’s expected that the lifter makes the most progress initially.
References
- The book “Practical Programming for Strength Training” by Mark Rippetoe deals with creating training programs for novice, intermediate and advanced lifters. While not mathematical, the book describes genetic potential, non-linearity and periodization. The interpretations of these three terms are \(S_m\), \(k\) and the multiplicative sine wave.
Appendix: Non-linearity as a function of \(k\)
The following is a more detailed study of the non-linearity of the model.
Reduction to an affine function
We note that when \(k=0\), the model \eqref{model_eqn} reduces to the affine function
Defining non-linearity
We wish to study the non-linearity of the solution for an arbitrary value of \(k\). The maximal deviation from a linear solution is denoted \(D\), and we define non-linearity as:
We expect that non-linearity will only be a function of \(k\). In the following, this will be demonstrated and the relationship will be examined.
Let \(L(t)\) be an affine solution to the problem with \(k=0\), and let the function \(F(t)\) be the difference between the actual solution and a perfectly linear solution:
The greatest deviation is found at the maximum, i.e. when
Solving the equation above yields \(t^{\star}\), the value of \(t\) for which the deviation is maximal. The greatest deviation from linearity may be expressed as
Computing \(t^{\star}\)
We start by figuring out what \(F(t)\) is:
We are going to differentiate this function, set it equal to zero and solve for \(t^{\star}\). To expedite calculations and save space, we denote:
We can now write the equation for \(F(t)\) in a more workable form as
Differentiating the above with respect to time yields:
Recalling the definition of \(\alpha(t)\), it is easily shown that
Which means we can write \eqref{differentiated} as:
We simplify and rid ourselves of \(\Delta S\) and \(\Delta t\):
The time variable \(t\) is contained in \(\alpha\left ( t \right )\), solving for it yields:
At this time, the deviation from linearity is at a maximum. We denote it by \(t^{\star}\), and it is given by
Limiting cases for \(t^{\star}\)
We take a quick break from the derivation of the non-linearity to consider limiting cases. It can be shown numerically, or using L’Hospital’s Rule, that:
The solution initially deviates at mid-range when one starts to increase the value \(k\). The deviation moves from mid-range to the start of the range as \(k\) is increased further.
An explicit equation for non-linearity
We return to our exposition on non-linearity, defined as:
We now have an expression for \(t^{\star}\), which we substitute into \(F(t)\) above to obtain
From the definitions, we have that:
With some more algebra, it can be shown that
Our goal is to clean up
There are three terms in the above that need to be cleaned up:
Inserting the three results above and substituting \(S_{m}-S_{i}\) with \(- \Delta S\), we obtain
Now we pull out \(\Delta S\) and simplify to
Recall that the definition of non-linearity given by:
Substituting and realizing that \(\Delta S = S_i - S_m\) appears in both the numerator and the denominator, we finally obtain the desired result. Nonlinearity is given by the following expression:
And it is only a function of \(k\), as predicted.
Limiting cases for non-linearity
The limiting cases for non-linearity work out nicely as:
A negative value of \(k\) has no meaning for progression modeling, as we assumed positive proportionality in the differential equation. Furthermore, \(\mathrm{NL}(0)\) has no meaning because the maximum does not exist.