Vous devez d'abord décider du type de fonction que vous souhaitez adapter à vos points. Je suppose, pour cet exemple, que vous souhaitez faire un ajustement linéaire. Cela signifie que vous chercherez une ligne qui passe par les deux points que vous avez donnés. L'objectif final est d'avoir une fonction y = mx + b où x et y sont les variables et m et b sont les paramètres que vous calculez à partir de vos points donnés. Dans votre cas, x sera la quantité. Une fois que vous avez trouvé des nombres pour m et b, vous devez simplement coder une fonction qui renvoie y lorsque vous entrez x.
Vos deux points (que la ligne doit traverser) sont (x, y) = (12,1) et (500, 7,5). La façon dont vous trouvez m et b est de traiter m et b comme les variables et de brancher les deux points donnés et de résoudre pour m et b. Ainsi, vous voulez résoudre ces deux équations simultanées: 1 = m * 12 + b 7,5 = m * 500 + b
Une façon de le faire est de résoudre la première équation b: b = 1 - m * 12. Ensuite, branchez cela dans la deuxième équation, c'est-à-dire, remplacez b dans la deuxième équation par (1 - m * 12) puis résolvez m, comme ceci: 7,5 = m * 500 + 1 - m * 12 m = 6.5/488 Maintenant que vous avez m, vous le rebranchez dans la première équation et résolvez b: 1 = 12 * 6.5/488 + b ou b = 1 - 12 * 6.5/488. Ceux-ci ne sortent pas comme de beaux nombres propres mais ils sont approximativement b = 0.84 et m = 0.0133.
Vérifiez votre travail pour voir que y = 0.0133 * x + 0.84 passe, en fait, à travers vos deux points donnés. Autrement dit, si x vaut 12, vous devez calculer y est approximativement égal à 1 et si x vaut 500, vous devez calculer y est approximativement égal à 7,5. Puisque j'ai arrondi les valeurs de m et b, cela ne sera pas exact. Vous pouvez l'obtenir plus précisément en spécifiant m dans votre fonction comme 6.5/488 et de même pour b (laissez l'ordinateur faire le calcul) ou en utilisant simplement plus de chiffres. Si vous voulez ajuster une ligne courbe à ces points, vous devez d'abord décider quel type de fonction vous allez adapter (quadratique, exponentielle, racine carrée, logarithme, autre loi de puissance, etc.).
Il n'y a pas de bonne réponse quant à * comment * le prix devrait varier avec la quantité. La réponse est vraiment: vous pouvez adapter n'importe quelle courbe entre les deux points, alors c'est facile à calculer. Mais jusqu'à ce que vous décidiez que vous ne pouvez pas vraiment inverser une fonction inconnue en PHP. – avy
Eh bien, vous n'avez pas besoin de nous pour la roue pertinente et l'adaptation de ces formules aussi. – hassan
Il existe des équations de courbes infinies qui possèdent deux points mais seulement une équation de ligne droite: https://www.mathsisfun.com/straight-line-graph-calculate.html – dparoli