Resolution equation du 3eme ordre

graph2fre

XLDnaute Nouveau
Bonjour

Je souhaiterais savoir si quelqu'un à déjà résolu une équation du 3ème ordre sur excel du type ax^3 + bx^2 + cx + d = 0 et si possible récupérer son fichier excel ou sa macro.

Je sais que deux méthode existe : la méthode de Cardan mais je suis embêté avec les solutions de nombres complexes. Et une autre méthode consist à passer l'équation du troisieme ordre en multiplication de deux equations. Une du 1er ordre et une du deuxième et excel à des formules pour ca. Mais la encore je n'arrive pas.

J'y ai passé plusieurs semaines sur ce problème sans trouver alors si quelqu'un pouvait m'aider!!!

Merci
 

graph2fre

XLDnaute Nouveau
Re : Resolution equation du 3eme ordre

Salut ROGER2327!

Ca fait une éthernité que 'ai pas regardé le problème que je t'avais montré. J'ai essayé avec ton code sous forme de macro. Mais cela ne convient toujours pas.
Voici les coefficients donc je n'arrive pas a résoudre l'équation :
a= 3.3024E-05
b= -0.0099046
c= 0.4566725
d= 14.14

Je trouve avec excel comme solution 232.9 hors je devrais avoir une valeur de 80 à 90 (je lis ce résultat graphiquement)

Et j'ai pas tout compris sur les messages que vous aviez échangé auparavant en parlant de la précision. Est ce que le problème serait le nombre de chiffre après la virgule que excel est capable de calculer.

Merci d'avance
 

néné06

XLDnaute Accro
Re : Resolution equation du 3eme ordre

Bonjour à toutes et tous.

Je dépose le programme publié dans les autres posts, programme que j'avais effacé lors d'une fausse manipulation.

Mes résultats sont donc sensiblement identiques aux résultats de notre ami Roger2327 et je doute des résultats obtenus graphiquement ??

A+
René
 

Pièces jointes

  • Equation3bis.xls
    47 KB · Affichages: 62

ROGER2327

XLDnaute Barbatruc
Re : Resolution equation du 3eme ordre

Re...


Salut ROGER2327!(...)
J'ai essayé avec ton code sous forme de macro. Mais cela ne convient toujours pas.
Voici les coefficients donc je n'arrive pas a résoudre l'équation :
a= 3.3024E-05
b= -0.0099046
c= 0.4566725
d= 14.14

Je trouve avec excel comme solution 232.9 hors je devrais avoir une valeur de 80 à 90 (je lis ce résultat graphiquement)
(...)
Je confirme :
0,000033024.x^3-0,0099046.x^2+0,4566725.x+14,14 = 0
a pour solution :
x1 = -20,8645656741024
x2 = 88,2518934324058
x3 = 232,53394162154.
L'équation a trois racines réelles dont une est effectivement comprise entre 80 et 90, conformément à votre observation graphique.
Où est le problème ?​


ROGER2327
#5736


Jeudi 12 Clinamen 139 (Saint Georges Dazet, poulpe au regard de soie - fête Suprême Quarte)
14 Germinal An CCXX, 3,3261h - hêtre
2012-W14-2T07:58:57Z
 

graph2fre

XLDnaute Nouveau
Re : Resolution equation du 3eme ordre

bonjour mon probleme est que dans ma cellule dans excel, ce dernier m'affiche seulement la solution 232.5339. Du coup je ne la vois pas la solution 88.25
Comment puis je faire adfficher la valeur qui m'interresse ou les trois valeurs et éventuellement après selectionner par je ne sais pas encore quel moyen la valeur qui m'interresse

Merci en tout cas d'avoir répondu
 

ROGER2327

XLDnaute Barbatruc
Re : Resolution equation du 3eme ordre

Re...


bonjour mon probleme est que dans ma cellule dans excel, ce dernier m'affiche seulement la solution 232.5339. Du coup je ne la vois pas la solution 88.25
Comment puis je faire adfficher la valeur qui m'interresse ou les trois valeurs et éventuellement après selectionner par je ne sais pas encore quel moyen la valeur qui m'interresse

Merci en tout cas d'avoir répondu
Si, comme vous le dites, vous utilisez mon code, vous obtenez non pas une réponse dans une cellule mais dans cinq cellules (plage F2:J2 ou F3:J3 selon la version du code). Voyez le classeur joint.

Si vous obtenez le résultat dans une seule cellule, c'est que vous avez adapté le code à votre convenance. Il faudrait voir comment : joignez le classeur qui vous cause un souci...​


ROGER2327
#5738


Jeudi 12 Clinamen 139 (Saint Georges Dazet, poulpe au regard de soie - fête Suprême Quarte)
14 Germinal An CCXX, 3,6033h - hêtre
2012-W14-2T08:38:53Z
 

Pièces jointes

  • Equation_du_troisième_degré_v2-2.xlsm
    16.3 KB · Affichages: 65
Dernière édition:

graph2fre

XLDnaute Nouveau
Re : Resolution equation du 3eme ordre

Je vous envoie le fichier.

Ce dernier est un peu compliqué (peut être pas pour vous) je vais donc essayer de l'expliquer rapidement et clairement.

Sur la feuille "paramètre pompe", je rentre les valeurs en abcisse (Débit) et en ordonnée (HMT) dans pompe A. Il n'est pas nécessaire de s'occuper de la partie "caractéristique réseau". A droite dans mode de fonctionnement, il est noté en rouge 1 car seul les paramètres pompe A sont rempis. Il n'est pas non nécessaire de changer les paramètre du mode 1.

Puis sur la feuille "MODE 1" , Pompe A nous distinguons deux courbes. La courbe noir représente la courbe avec les points entrée en feuille "paramètre pompe". La orange est la courbe qui doit normalement être confondu avec la courbe noir. C'est l'équation de la courbe orange que je n'arrive pas réaliser pour quelle se confonde avec la noir. Les calculs en dessous résulte d'une autre méthode que la votre pour réaliser mes calculs. Mais je ne sais pas comment adapter votre programme.

Je sais pas si cela vous aide.
 

Pièces jointes

  • Copie de Copie de Copie de Caractéristiques réseaux&pompes3.xlsm
    476.4 KB · Affichages: 38

ROGER2327

XLDnaute Barbatruc
Re : Resolution equation du 3eme ordre

Re...


(...)
Les calculs en dessous résulte d'une autre méthode que la votre pour réaliser mes calculs.
(...)
C'est bien ce qui me semblait...

J'ai jeté un œil sur votre fichier : c'est effectivement assez touffu. Je n'ai pas le temps de l'explorer maintenant. Peut-être un peu plus tard ?

En attendant, une proposition qui pourra peut-être vous dépanner. Si vous avez une idée de la valeur approximative de la racine cherchée, voici une fonction qui vous renverra la racine la plus proche de cette valeur approximative :
VB:
Function deg3c(c As Range, Optional b# = 0)        'c : plage de quatre cellules contigües , b valeur approchée de la racine cherchée.
ReDim a#(1 To 4)
Dim i%, p#, q#, r#, rx1#, rx2#, rx3#, ix2#, ix3#
    For i = 2 To 4: a(i) = c(i) / c(1): Next
    p = a(2) ^ 2 / 9 - a(3) / 3
    q = a(2) * a(3) / 6 - a(2) ^ 3 / 27 - a(4) / 2
    r = q ^ 2 - p ^ 3
    If r < 0 Then
        r = WorksheetFunction.Acos(q / Sqr(p ^ 3)) / 3
        rx1 = Sqr(p) * Cos(r + 2.0943951023932) * 2 '2*pi/3 = 2.0943951023931954923084289221863
        rx2 = Sqr(p) * Cos(r - 2.0943951023932) * 2
        rx3 = Sqr(p) * Cos(r) * 2
    Else
        r = Sqr(r)
        p = Sgn(q + r) * Abs(q + r) ^ (1 / 3)
        q = Sgn(q - r) * Abs(q - r) ^ (1 / 3)
        rx1 = q + p
        rx2 = -rx1 / 2
        ix2 = Sqr(3) * (q - p) / 2
        rx3 = rx2
        ix3 = -ix2
    End If
    rx1 = rx1 - a(2) / 3
    rx2 = rx2 - a(2) / 3
    rx3 = rx3 - a(2) / 3
    Select Case (Abs(b - rx1) < Abs(b - rx2)) + 2 * (Abs(b - rx1) < Abs(b - rx3)) + 4 * (Abs(b - rx2) < Abs(b - rx3))
        Case 0, -2: r = rx3: rx3 = rx1: rx1 = r
        Case -1: r = rx3: rx3 = rx2: rx2 = rx1: rx1 = r
        Case -3: r = rx3: rx3 = rx2: rx2 = r
        Case -4: r = rx3: rx3 = rx1: rx1 = rx2: rx2 = r
        Case -6: r = rx2: rx2 = rx1: rx1 = r
    End Select
    deg3c = Array(rx1, rx2, ix2, rx3, ix3)
End Function

La formule =deg3c(Plage_des_coefficients;Valeur_approchée) renvoie la racine la plus proche de la Valeur_approchée.

Voyez des exemples dans le classeur joint.

Si cette proposition peut convenir, on pourra simplifier la fonction ci-dessus.​


ROGER2327
#5743


Jeudi 12 Clinamen 139 (Saint Georges Dazet, poulpe au regard de soie - fête Suprême Quarte)
14 Germinal An CCXX, 5,4025h - hêtre
2012-W14-2T12:57:57Z
 

Pièces jointes

  • Equation_du_troisième_degré_v2-3.xlsm
    18 KB · Affichages: 47

graph2fre

XLDnaute Nouveau
Re : Resolution equation du 3eme ordre

Danc ce cas, si vous comptez vous attarder sur mon problème, je peux vous proposer de faire un fichier beaucoup plus simple avec juste le nécessaire et de vous l'envoyer avec les explications qui vous permettront de mieux comprendre ce que je souhaite faire.
 

ROGER2327

XLDnaute Barbatruc
Re : Resolution equation du 3eme ordre

Bonjour achraftouir


essayer de programmer la suite
U[SUB]n+2[/SUB] +a.U[SUB]n[/SUB]+b.U[SUB]N-1[/SUB]=0
puis le quotient des termes U[SUB]n+1[/SUB]/U[SUB]n[/SUB] VA CONVERGER VERS UNE RACINE
Je ne connais pas cette méthode. Pouvez-vous donner quelques précisions ? Comment choisit-on a, b ? Comment sont définis les trois premiers termes de la suite ?

Si vous aviez un exemple numérique à donner, ce serait parfait.​


Merci d'avance.



ROGER2327
#5885


Lundi 2 Merdre 139 (Le Moutardier du Pape - Vacuation)
30 Floréal An CCXX, 6,5242h - houlette
2012-W20-6T15:39:29Z
 

achraftouir

XLDnaute Nouveau
Re : Resolution equation du 3eme ordre

on donne E l'equation X^3=ax+b
alors la suite Un+2 =a un+b Un-1 a l'expression Un = cx1^n+dx2^n+ex3^n ou x1 x2 et x3 sont les trois racines de E et c, d et e sont des coefficients precis
on choisit U0 =0 U1 =1 ET U 2= 0

ALORS LA SUITE Un+1/Un converge vers le max des trois racines
 
Dernière édition:

ROGER2327

XLDnaute Barbatruc
Re : Resolution equation du 3eme ordre

Bonsoir à tous


À achraftouir : merci pour votre réponse rapide. Je n'ai pas le temps de regarder immédiatement, je verrai cela demain.


ROGER2327
#5889


Mercredi 4 Merdre 139 (Nativité de Saint Henri Rousseau, douanier - fête Suprême Quarte)
2 Prairial An CCXX, 9,7826h - hémérocalle
2012-W21-1T23:28:42Z
 

Discussions similaires

Statistiques des forums

Discussions
312 354
Messages
2 087 545
Membres
103 584
dernier inscrit
Serka