# Difference between revisions of "Predicting maximal strength"

From JSXGraph Wiki

Jump to navigationJump to searchA WASSERMANN (talk | contribs) |
A WASSERMANN (talk | contribs) |
||

(One intermediate revision by one other user not shown) | |||

Line 11: | Line 11: | ||

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. | 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. | ||

− | <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], axis: true}); |

− | |||

− | |||

var w = brd.create('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}); | ||

Line 33: | Line 31: | ||

brd.create('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: | + | {fontSize:24,strokeColor:'red'}); |

</jsxgraph> | </jsxgraph> | ||

Line 42: | Line 40: | ||

=== The underlying JavaScript code === | === The underlying JavaScript code === | ||

− | <source lang=" | + | <source lang="javascript"> |

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

− | var brd = JXG.JSXGraph.initBoard('jxgbox',{boundingbox:[-1,1.8,30,0.8] | ||

− | |||

− | |||

var w = brd.create('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}); | ||

Line 65: | Line 60: | ||

brd.create('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: | + | {fontSize:24,strokeColor:'red'}); |

− | |||

</source> | </source> | ||

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

## Latest revision as of 16:45, 20 February 2013

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] 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

```
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',[
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:24,strokeColor:'red'});
```