Résoudre une équation (l'inverse) sur vba, y=f(x), trouver x avec y connu

guainflo

XLDnaute Junior
Bonjour,

J’ai cette équation :
Y=A*X^3 + B*X^2 + C*X + D (les coefficients A, B, C et D se trouvent sur la feuil1)

J’ai Y et il faut que je trouve X, j’ai fait cette boucle en dessous pour trouver X, mais mon problème est que cette boucle va se trouver dans une boucle , donc ça va devenir très long, et en plus je crois que je vais devoir augmenter le degré de précision (X=X+0.001).

Avez-vous une idée sur une autre méthode (il y a peut être une ligne de code pour résoudre une équation inverse ou un autre procédé) ?

Je peut réduire la zone de recherche car le X calculé devrait être proche du dernier X calculé :
X=0.8 * X_Précédent
Mais cela reste à voir, et de toute façon, si je doit être très précis (X=X+0.0001), ça va toujours être long.


finboucle = 0
Xtest = 0
Do Until finboucle = 1
Ytest = (A * (X ^ 3)) + (B * (X ^ 2)) + (C * X) + D
If Ytest > Y Then
finboucle1 = 1
else
Xtest = Xtest + 0.01
End If
X = Xtest
Loop
 

guainflo

XLDnaute Junior
Re : Résoudre une équation (l'inverse) sur vba, y=f(x), trouver x avec y connu

finboucle = 0
Xtest = 0
Do Until finboucle = 1
Ytest = (A * (Xtest ^ 3)) + (B * (Xtest ^ 2)) + (C * Xtest) + D
If Ytest > Y Then
finboucle1 = 1
else
Xtest = Xtest + 0.01
End If
X = Xtest
Loop
 

pierrejean

XLDnaute Barbatruc
Re : Résoudre une équation (l'inverse) sur vba, y=f(x), trouver x avec y connu

Bonjour guainflo

Vois si tu peux t'inspirer de ceci
 

Pièces jointes

  • Equation.zip
    10.3 KB · Affichages: 161
  • Equation.zip
    10.3 KB · Affichages: 159
  • Equation.zip
    10.3 KB · Affichages: 154
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 379
Messages
2 087 765
Membres
103 661
dernier inscrit
fcleves