Predicting maximal strength

From JSXGraph Wiki

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:

[math]\displaystyle{ 1RM = w\cdot(0.988+0.0104\cdot x+0.00190\cdot x^2-0.0000584\cdot x^3) }[/math]

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.


  • 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

var brd = JXG.JSXGraph.initBoard('jxgbox',{boundingbox:[-1,1.8,30,0.8], axis: true});

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',[
             ], {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());}]);

                   function(){return "predicted 1RM = " + (w.Value()*f(Math.floor(r.X()))).toFixed(2);}],