Hallo,
Die Abhängigkeiten der Wiederholungen zu den Leistungen in % musst Du natürlich irgendwo vorhalten.
Eine Möglichkeit wäre ein Array, in etwa so:
$aPowerRange = array(
1 => 100,
2 => 95,
3 => 90,
5 => 85,
7 => 80,
9 => 75,
11 => 70,
14 => 65,
17 => 60
);
Alles anzeigen
Um jetzt rechnen zu können benötigst Du ja die Angaben des Trainingsgewichtes und der Wiederholungen, wenn ich Dich richtig verstanden habe:
$fWeight = 12.5;
$fLoops = 4;
Jetzt musst Du erstmal ermitteln, welche Leistung in % den Weiderholungen entspricht.
Dazu könntest Du alle Elemente aus $aPowerRange ermitteln, deren Key im Bereich der Wiederholungen liegen:
$aRanges = array_filter(
array_map(
function ( $key ) use ( $fLoops, &$aPowerRange ) {
return ( $key < $fLoops )? $aPowerRange[$key]: false;
}
, array_keys($aPowerRange)
)
);
Alles anzeigen
Jetzt kannst Du unter Bezugnahme auf das letzte Element von $aRanges bequem die Formel anwenden:
$fMaxPower = ($fWeight * 100 / (float)end($aRanges));
var_dump( $fMaxPower );
Geht sicher eleganter, aber ist das erste, was mir eingefallen ist...
Gruß Arne