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
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