Forum de mathématiques - Bibm@th.net
Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
#1 01-11-2023 17:37:44
- Eric-40
- Membre
- Inscription : 19-07-2019
- Messages : 5
Calcul de coefficients dans une formule
Bonjour,
Je cherche une solution à un problème mais n'y arrive pas, du moins, pas complètement
Toutes les coordonnées sont des entiers.
a, b, c, k sont des réels
J'ai une courbe, croissante de (Xmin, Ymin) à (Xmax, Ymax), je connais ces deux points
Et je connais la moyenne des Y sur ce segment = Ymoy
Je cherche l'équation de la courbe pour généraliser ma formule et l'intégrer dans un programme
Vu la forme de la courbe, j'ai pensé à un : y = f(x) = ent(a.ln(k.x +c) + b) ou tout simplement a.x+b si Xmoy = (Xmax+Xmin)/2
Pour l'instant, j'ai trouvé a et b, j'ai forcé k à -1 ou +1 selon le sens de la courbure et pour c, j'ai procédé par dichotomie n'arrivant pas à isoler ce terme dans l'équation.
Pour un exemple concret, j'ai posé (Xmin, Ymin) = (10, 10); (Xmax, Ymax) = (400, 400) et Ymoy = 128.
j'ai trouvé k = -1, c = 431, a = -149.50287, b = 913.39093
mais aussi k = -3.2, c = 1380, a = -150, b = 1091
En faisant la moyenne des Yi (entiers) sur l'intervalle [Ymin, Ymax], je dois trouver Ymoy
Je peux, bien entendu communiquer mes formules et la courbe pour les exemples ci-dessus
Je remercie quiconque qui pourrait m'aider à trouver une formule générale et m'expliquer comment trouver ces coefficients
Bonne soirée
Hors ligne
#2 03-11-2023 19:03:21
- Eric-40
- Membre
- Inscription : 19-07-2019
- Messages : 5
Re : Calcul de coefficients dans une formule
En fait, on peut éliminer [tex]\left|K\right|[/tex]
[tex]f(x) = A.ln(K.x +C) + B[/tex]
Si [tex]K = 0[/tex] alors il faut remplacer cette équation par celle d'une droite [tex]f(x) = A.x + B[/tex]
Si [tex]K \neq 0[/tex],
[tex]f(x) = A.ln\bigl[\left|K\right|\bigl(sgn\left(K\right).x+\frac{C}{\left|K\right|}\bigr)\bigr]+B[/tex]
[tex]f(x) = A\Bigl[ln\left(\left|K\right|\right) + ln\bigl(sgn\left(K\right).x+\frac{C}{\left|K\right|}\bigr)\Bigr]+B[/tex]
[tex]f(x) = A.ln\left(\left|K\right|\right) + A.ln\bigl(sgn\left(K\right).x+\frac{C}{\left|K\right|}\bigr)+B[/tex]
[tex]f(x) = A.ln\bigl(sgn\left(K\right).x+\frac{C}{\left|K\right|}\bigr)+\Big(B + A.ln\left(\left|K\right|\right)\Big)[/tex]
En posant
[tex]a = A[/tex]
[tex]b = B+A.ln\left(\left|K\right|\right)[/tex]
[tex]s = sgn\left(K\right)[/tex]
[tex]c = \frac{C}{\left|K\right|}[/tex]
On trouve
[tex]f\left(x\right) = a.ln\left(s.x + c\right) + b[/tex]
avec
[tex]s \in \left\{-1, +1\right\} [/tex]
bien entendu : [tex] s.x + c > 0 [/tex]
Je sais calculer s,
J'ai trouvé les formules de a et b, fonctions de c et de s
Reste à déterminer c
Dernière modification par Eric-40 (03-11-2023 19:05:16)
Hors ligne







