Predicting maximal strength: Difference between revisions

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


var w = brd.createElement('slider',[[24,0.92],[24,1.7],[0,50,200]],{name:'weight w',snapWidth: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); };
f = function(x){ return (0.988+0.0104*x+0.00190*x*x-0.0000584*x*x*x); };


var c = brd.createElement('functiongraph',[
var c = brd.create('functiongraph',[
             f,
             f,
             1,22
             1,22
Line 26: Line 26:
             );
             );


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


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


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


var w = brd.createElement('slider',[[24,0.92],[24,1.7],[0,50,200]],{name:'weight w',snapWidth: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); };
f = function(x){ return (0.988+0.0104*x+0.00190*x*x-0.0000584*x*x*x); };


var c = brd.createElement('functiongraph',[
var c = brd.create('functiongraph',[
             f,
             f,
             1,22
             1,22
Line 58: Line 58:
             );
             );


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


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


</jsxgraph>
</jsxgraph>
</source>
</source>


[[Category:Examples]]
[[Category:Examples]]

Revision as of 20:49, 29 September 2010

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.

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>