modifier (après votre mise à jour):
Avec vos modifications, vous demandez une fonction croissante et quelque chose ressemblant à y = 1/x.
L'échelle de votre fonction peut être modifiée pour s'adapter à vos coordonnées exactes, bien que la courbe soit beaucoup plus abrupte au départ.
y = 154 - 10100/(20 * x + 100) @ Wolfram Alpha
Plot of 154 - 10100/(20 * x + 100) from x=0 to x=500 @ Wolfram Alpha
Prenant note des solutions entières, nous utilisons la solution x = 96, y = 149 pour modifier la formule, mise à l'échelle de ces valeurs dans votre plage de coordonnées. Cela nous donnera quelque chose de plus proche de votre courbe mise à jour qui descend un peu plus doucement.
y = 158 - 2625/(x + 25) @ Wolfram Alpha
Plot of 158 - 2625/(x + 25) from x=0 to x=500 @ Wolfram Alpha
Voici une parcelle de votre version, à titre de comparaison.
y = -1500/(x + 15) + 153 @ Wolfram Alpha
Réponse originale (avant votre mise à jour)
Je pense que vous verrez quelques convergences étranges vers la couleur de votre destination si vous utilisez une échelle non linéaire, mais néanmoins, vous peut utiliser une formule générale et décider quel polynôme ou exposant vous donne les meilleurs résultats.
D'abord, la fonction algébrique/polynomiale.
A * X^N + B = Y
Cette formule générale peut être résolu dans le système pour vous donner un polynôme d'ordre N qui correspond à une courbe entre deux points connus. Dans ce cas, nous résolvons pour < X = 0, Y = 153 > à < X = 500, Y = 53 >.
Substituer la première paire de coordonnées, on obtient facilement B.
A * (0)^N + B = (153)
0 + B = (153)
B = 153
Maintenant, en remplaçant la deuxième paire, nous pouvons trouver A.
A * (500)^N + 153 = (53)
A * (500)^N = -100
A = -100/(500^N)
Si vous voulez une échelle linéaire, vous substituez N = 1, et cela nous donne A = -0.20.
-0.20 * X + 153 = Y
Si vous voulez une échelle quadratique, vous substituez N = 2, et qui nous donne A = -0,0004.
-0.0004 * X^2 + 153 = Y
Vous pouvez également utiliser une valeur non entière pour N, entre 1 et 2 (essayez 1.5 ou 1.6), que je pense que vous donnera probablement de meilleurs résultats. Notez également que lorsque cette fonction augmente, elle finit par tomber en dessous de zéro, mais seulement après que la courbe a traversé le second point.
Voici la fonction exponentielle. J'utilise et comme base ici, bien que vous puissiez le modifier à n'importe quoi d'autre supérieur à 1. Pour ajuster une courbe entre deux points, nous obtiendrons les meilleurs résultats si les deux points ont des valeurs Y supérieures à zéro. Sinon, nous devrons ajouter un décalage et déterminer où nous voulons que la ligne de base soit. Pour les besoins ici, nous supposerons que la ligne de base est Y = 0. Cela signifie qu'au fur et à mesure que X augmente, Y finira par atteindre, mais n'atteindra pas réellement, 0, après avoir traversé le second point.
A * e^(B * X) = Y
Encore une fois, résoudre pour la première coordonnée. Substituez l'entrée pour obtenir B, avec la deuxième coordonnée.
153 * e^(B * 500) = 53
e^(B * 500) = 53/153
B * 500 = ln(53/153)
B = ln(53/153)/500
ln (val) est le journal naturel qui est inverse à e^val. Ma calculatrice dit que B est à peu près égal à -0.0021202920156806272577911119053782, ou peut-être -0.0021 fonctionnerait mieux en bref. Si vous voulez résoudre ceci pour d'autres bases d'exposant, utilisez les identités exposant/logarithme de la même manière pour résoudre toute autre base, et pour changer la base du logarithme en ln() [log() en js] ou log() [log()/Math.log10e dans js].
l'équation que vous avez indiquée est quadratique. Exponentiel aurait x dans l'exposant. –
Peut-être mieux sur http://www.mathoverflow.net/ – Yacoby
@Donnie Merci, j'ai enlevé l'exemple de la partie équation. –