Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
Boostez vos compétences Excel avec notre communauté !
Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force.
Apprenez, échangez, progressez – et tout ça gratuitement !
👉 Inscrivez-vous maintenant !
J'ai quelques difficultés à résoudre l'équation suivante sur Excel à l'aide du solveur:
X² [ X - 296,8 ] = 3,581.10^6
Du coup pour simplifier je met sous la forme X² [ X - 296,8 ] - 3,581.10^6 = 0 afin de demander au solveur pour quelle(s) valeur(s) de X l'équation s'annule (mais sans grand succès).
Merci bien mais je recherche plutôt l'outil d'Excel qui permet de résoudre l'équation (type solveur qui va faire des boucles afin de trouver le résultat final). J'ai réussi à résoudre le problème avec la méthode de Cardan mais ça serai plus simple avec le solveur (cette méthode est un peu fastidieuse dans mon cas car j'ai plusieurs centaines d'équations de ce type à résoudre).
Merci bien et si d'autres personnes ont des tuyaux je suis preneur 😀
Function PolyInv(Y As Double, Kp As Variant, Optional XEsti) As Double
Dim X As Double, Yr As Double, Yd As Double
If IsMissing(XEsti) Then X = Y Else X = XEsti
Do
Yr = Poly(X, Kp, 0)
Yd = Poly(X, Kp, 1)
X = (Y - Yr + Yd * X) / Yd
Loop Until Abs(Yr - Y) < 0.0001
PolyInv = X
End Function
VB:
Function Poly(ByVal X As Double, Optional Kp As Variant, Optional ByVal Dériv As Long = 0) As Double
Dim XPui As Double, Y As Double, J As Long
If Not IsMissing(Kp) Then TableÀRendre(K) = Kp
While Dériv > 0: DériverK K: Dériv = Dériv - 1: Wend
While Dériv < 0: IntégrerK K: Dériv = Dériv + 1: Wend
XPui = 1: Y = K(1)
For J = 2 To UBound(K)
XPui = XPui * X
Y = Y + XPui * K(J)
Next J
Poly = Y
End Function
C'est la méthode classique qui consiste à chercher le nouveau X' où la tangente à la courbe au point X estimé en cours et Y calculé coupe la valeur Y cherchée, jusqu'à ce que la différence entre celui ci et le Y calculé devient négligeable. Elle est connue pour converger très vite au voisinage du X cherché, d'où la possibilité de le préciser.
Ce code fait partie de mon module Polynôme que j'ai mis au point il y a de nombreuses années.
C'est la méthode classique qui consiste à chercher le nouveau X' où la tangente à la courbe au point X estimé en cours et Y calculé coupe la valeur Y cherchée, jusqu'à ce que la différence entre celui ci et le Y calculé devient négligeable. Elle est connue pour converger très vite au voisinage du X cherché, d'où la possibilité de le préciser.
Peut être pas comme ça. Mieux, l'imaginer sur un graphique: On a une courbe dont on sait calculer la valeur Y pour une valeur X. On sait aussi calculer la droite tangente à la courbe en ce point, ça y est c'est imaginé ? Alors si la valeur Y trouvée pour ce point n'est pas bonne, il est facile de trouver la valeur X sur cette droite où Y vaut celle qu'on cherche à atteindre. Pour un polynôme, plus on est près du X qu'on cherche, plus, à la loupe, la courbe se rapproche en fait de l'allure de la droite, et plus on converge vite. C'est pourquoi je n'ai pas mis plus précis comme limite que 0.0001. Si on était encore en dehors mais de peu, on vient en général de calculer un X satisfaisant du point cherché où Y s'écarte des centaines de milliers de fois moins de celui qu'on cherche.
La méthode de la tangente (dite aussi de Newton) donne en général de bons résultats. Elle peut parfois être mise en difficulté en cas de racines doubles (ou triples, mais on repère facilement ce cas car l'équation se résume à a.(x[SUP]3[/SUP] - 3.x[SUP]2[/SUP] + 3.x - 1) = 0, a ≠ 0).
Dans le cas qui occupe Djamana, le "résoluteur" d'Excel fonctionne chez moi, et donne le résultat annoncé par Dranreb.
J'ai bien vu que notre ami ne souhaite pas utiliser la résolution directe par la méthode de Cardan ou la méthode trigonométrique, mais je donne malgré tout une formule dérivée de ces méthodes :
Les résultats sont généralement satisfaisants. Par sécurité, on peut faire un contrôle en se souvenant que, les trois zéros du polynôme [a, b, ç, d] étant x[SUB]1[/SUB], x[SUB]2[/SUB] et x[SUB]3[/SUB], on a : b = -a.(x[SUB]1[/SUB] + x[SUB]2[/SUB] + x[SUB]3[/SUB]) ç = a.(x[SUB]1[/SUB].x[SUB]2[/SUB] + x[SUB]2[/SUB].x[SUB]3[/SUB] + x[SUB]3[/SUB].x[SUB]1[/SUB]) d = -a.(x[SUB]1[/SUB].x[SUB]2[/SUB].x[SUB]3[/SUB])
On trouvera quelques exemples dans le classeur joint. Remarque : les formules sont brutes de fonderie ; on peut probablement les optimiser.
- Navigue sans publicité - Accède à Cléa, notre assistante IA experte Excel... et pas que... - Profite de fonctionnalités exclusives Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel. Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.