Predicting maximal strength

This little application tries to predict the maximal strength (1RM) based on a repetitions to fatigue (RTF) value.

The calculation is based on the so called KLW formula:

$1RM = w\cdot(0.988+0.0104\cdot x+0.00190\cdot x^2-0.0000584\cdot x^3)$

The horizontal axis denotes the number of repetitions, the vertical axis denotes the ratio 1RM/RTF.

How to use this graphical calculator? Suppose you managed to do 9 repetitions with a weight of 80 kilograms. In the graphical calculator below you have to drag the black dot to r=9 and the blue dot to weight=80. Now, you can read of the 1RM prediction of 95.43.

References

• W. Kemmler, D. Lauber, J. Mayhew, and A. Wassermann: "Predicting Maximal Strength in Trained Postmenopausal Woman", Journal of Strength and Conditioning Research 20(4), (2006), pp. 838-842.

The underlying JavaScript code

<jsxgraph width=700 height=500>
var brd = JXG.JSXGraph.initBoard('jxgbox',{boundingbox:[-1,1.8,30,0.8]});
bx = brd.create('axis', [[0,0.9], [1,0.9]], {});
by = brd.create('axis', [[0,0], [0,1]], {});

var w = brd.create('slider',[[24,0.92],[24,1.7],[0,50,200]],{name:'weight w',snapWidth:1});

f = function(x){ return (0.988+0.0104*x+0.00190*x*x-0.0000584*x*x*x); };

var c = brd.create('functiongraph',[
f,
1,22
], {strokeColor:'black', highlightStrokeColor:'black'}
);

var r = brd.create('glider',[10,1,c],{name:'',fillColor:'black',strokeColor:'black',style:6});
var t = brd.create('text',[function(){return r.X()+1;},
function(){return r.Y();},
function(){return "repetitions r = " + Math.floor(r.X());}]);

brd.create('text',[5,1.6,
function(){return "predicted 1RM = " + (w.Value()*f(Math.floor(r.X()))).toFixed(2);}],
{fontSize:'24px',strokeColor:'red'});

</jsxgraph>