Sinclair’ s Bodyweight Correction formula​​The following is a follow up on my Community post “Age adjustments for lifting weights: comparisons and 1RM “: https://community.wolfram.com/groups/-/m/t/2386842

Below I add some comments on Sinclair’s Bodyweight correction formula.
But first we need the definitions of age adjustments and 1RM calculations for some of the examples.
In[]:=
coeffs={​​{30,1},{31,1.016},{32,1.031},{33,1.046},{34,1.059},{35,1.072},{36,1.083},{37,1.096},{38,1.109},{39,1.122},{40,1.135},{41,1.149},{42,1.162},{43,1.176},{44,1.189},{45,1.203},{46,1.218},{47,1.233},{48,1.248},{49,1.263},{50,1.279},{51,1.297},{52,1.316},{53,1.338},{54,1.361},{55,1.385},{56,1.411},{57,1.437},{58,1.462},{59,1.488},{60,1.514},{61,1.541},{62,1.568},{63,1.598},{64,1.629},{65,1.663},{66,1.699},{67,1.738},{68,1.779},{69,1.823},{70,1.867},{71,1.91},{72,1.953},{73,2.004},{74,2.06},{75,2.117},{76,2.181},{77,2.255},{78,2.336},{79,2.419},{80,2.540},{81,2.597},{82,2.702},{83,2.831},{84,2.981},{85,3.153},{86,3.352},{87,3.58},{88,3.843},{89,4.145},{90,4.493}};​​Transpose[coeffs];​​ageCoeffs=Thread[%[[1]]%[[2]]]//Association;​​brzycki[weight_,reps_]:=weight*(36./(37-reps))​​epley[weight_,reps_]:=0.033*weight*reps+weight;​​epley2[weight_,reps_]:=weight(1+reps/30.);​​oconner[weight_,reps_]:=weight*(1+0.025*reps);​​lombardi[weight_,reps_]:=weight*reps^0.10;​​mcglothin[weight_,reps_]:=100*weight/(101.3-2.67123*reps);​​wathan[weight_,reps_]:=100*weight/(48.8+53.8Exp[-0.075*reps]);​​​​oneRM[weight_,reps_,age_:30,method_:epley]:=Module[{rm=method[weight,reps]},​​{rm,rm*ageCoeffs[age]}​​]​​
In[]:=
myAge=64(*asofwriting,soon65*)
Out[]=
64
Sinclair' s Bodyweight Correction formula​"The Sinclair Coefficients for the Olympiad January 1, 2017 to December 31, 2020 For Men's and Women's Olympic Weightlifting""" "The details about the formula http://www.iwf.net/downloads/?did=993 http://www.iwf.net/downloads/?did=994" ""The Answer to the question "What would be the total of an athlete weighing x kg if he/she were an athlete in the heaviest category of the same level of ability?" is given by the formula : Actual Total x Sinclair Coefficient = Sinclair Total"" "via http://www.iwf.net/downloads/?category=68 via http://www.mastersweightlifting.org/formulas.html​
In[]:=
(*bodyWeightinkg*)​​sinclairCoeff[bodyWeight_,gender_]:=Module[{A,B,X,coeff},​​A=If[gender=="male",0.751945030,0.783497476];​​B=If[gender=="male",175.508,153.655];​​X=Log10[bodyWeight/B];​​coeff=If[bodyWeight<=B,10^(A*X^2),1];​​coeff​​]​​
Some examples​
​
I continue with my 117kg x 1 PR in deadlift.
Since I weighed 76 kg when lifted this, it has a Sinclair coefficient of 1.25703.
In[]:=
w=117;(*1repdeadliftinkg*)​​sinclairCoeff[76,"male"]
Out[]=
1.25703
This means that it corresponds to a 151.9kg lift by “an athlete in the heaviest category of the same level of ability”.
In[]:=
epley[117,1]*sinclairCoeff[76,"male"]​​
Out[]=
151.926
Since the Sinclair coefficient don’t care about age, I multiply with the Epley’s age adjusted coefficient (see link above for more about this). Perhaps this is stretching the mathematics a little too far, but then it would mean that it corresponds to a lift of 247.5kg (by “an athlete in the heaviest category of the same level of ability” aged 30).
In[]:=
epley[117,1]*ageCoeffs[64]*sinclairCoeff[76,"male"]
Out[]=
247.488
Here’s another example. We meet S again (from the other notebook).
​
S took 77kg x 5 in bench press when he was 37 years old weighing 90kg. How much would I have lift x 5 when 60 years old and with a body weight of 76kg? I would have to lift 51.3kg.
​
Let’s first ignore the age part and just look at the body weights. I would have to bench press 70.9kg x 5 in order to match him given our different body weights.
In[]:=
Solve[epley[x,5]*sinclairCoeff[76,"male"]==epley[77,5]*sinclairCoeff[90,"male"],x]
Out[]=
{{x70.8608}}
And now let us add adjustments as well: I would have to bench press 51.3kg in order to match S given our ages and body weights.
In[]:=
Solve[epley[x,5]*sinclairCoeff[76,"male"]*ageCoeffs[60]==epley[77,5]*sinclairCoeff[90,"male"]*ageCoeffs[37],x]
Out[]=
{{x51.2968}}