Ah ! une piste !
Si on introduit un coeff < 1 devant les deux X, on diminue de fait l'impact des variations de X sur les variations du résultat. En le donnant très petit, la fonction va varier très peu, en augmentant la puissance de X, on augmente la vitesse d'aplatissement. Résultat en jouant sur les deux paramètres on obtient des résultat plus ou moins satisfaisants.
En gros : plus le coefficient est petit, et plus tard la fonction chute, et plus la puissance est grande et plus fort la fonction chute.
Voici un exemple avec puissance = 3, et coeff = 0.001
Si on introduit un coeff < 1 devant les deux X, on diminue de fait l'impact des variations de X sur les variations du résultat. En le donnant très petit, la fonction va varier très peu, en augmentant la puissance de X, on augmente la vitesse d'aplatissement. Résultat en jouant sur les deux paramètres on obtient des résultat plus ou moins satisfaisants.
En gros : plus le coefficient est petit, et plus tard la fonction chute, et plus la puissance est grande et plus fort la fonction chute.
Voici un exemple avec puissance = 3, et coeff = 0.001
Code PHP :
<?php
define('PUISSANCE_DE_X', 3);
define('COEFF_DE_X', 0.001);
function f($x) { return (COEFF_DE_X*$x+1.8)/(COEFF_DE_X*pow($x,PUISSANCE_DE_X)+1) + 0.1; }
for ($i=0; $i<=50; $i++) {
echo "f($i) = " . f($i) . "\r\n";
}
?>
Citation :f(0) = 1.9
f(1) = 1.8992007992
f(2) = 1.8876984127
f(3) = 1.85559883155
f(4) = 1.7954887218
f(5) = 1.70444444444
f(6) = 1.58519736842
f(7) = 1.44549516009
f(8) = 1.29576719577
f(9) = 1.14626951995
f(10) = 1.005
f(11) = 0.87691977692
f(12) = 0.7642228739
f(13) = 0.667094150766
f(14) = 0.584508547009
f(15) = 0.514857142857
f(16) = 0.456357927786
f(17) = 0.407289024184
f(18) = 0.366100702576
f(19) = 0.331454383509
f(20) = 0.302222222222
f(21) = 0.277468083033
f(22) = 0.256421703297
f(23) = 0.238452191084
f(24) = 0.223043712898
f(25) = 0.20977443609
f(26) = 0.198298880276
f(27) = 0.188333413915
f(28) = 0.179644475427
f(29) = 0.172039072039
f(30) = 0.165357142857
f(31) = 0.15946542821
f(32) = 0.15425254679
f(33) = 0.149625037226
f(34) = 0.145504168321
f(35) = 0.141823361823
f(36) = 0.138526103743
f(37) = 0.135564246026
f(38) = 0.132896620848
f(39) = 0.130487905967
f(40) = 0.128307692308
f(41) = 0.126329714964
f(42) = 0.124531216706
f(43) = 0.122892419293
f(44) = 0.1213960828
f(45) = 0.120027137042
f(46) = 0.118772372275
f(47) = 0.117620178778
f(48) = 0.116560326905
f(49) = 0.115583780731
f(50) = 0.114682539683
Pas mal non ?
De toute façon en gardant ce squelette de fonction on chutera toujours plus vite au début qu'à la fin (aplatissement), et bien vérifier la courbe avant d'appliquer des paramètres, il peut y avoir des surprises : exemple avec puissance=10 et coeff=0.0000001
Citation :f(0) = 1.9
f(1) = 1.89999992
f(2) = 1.89981589885
f(3) = 1.88943387193
f(4) = 1.7291695871
f(5) = 1.01067218972 oh la chute
f(6) = 0.355441788128 on ne l'arrête plus
f(7) = 0.161543693224 et entre f(4) et f(7) on est passé du palier haut au palier bas :roll:
f(8) = 0.116609129224
f(9) = 0.105147589023
f(10) = 0.101798202797