Math_Equation

Résolu
erreip94 Messages postés 52 Statut Membre -  
Sacabouffe Messages postés 9427 Date d'inscription   Statut Membre Dernière intervention   -
Bsr,
Je souhaiterais soumettre à résolution l'équation suivante, qui doit me permettre de trouver l'abscisse du point d'intersection d'une courbe et de l'axe des abscisses :
L'intervalle de définition étant [2;20] :
x - 2 - 2 ln(x) = 0
Merci à tous !

1 réponse

  1. Sacabouffe Messages postés 9427 Date d'inscription   Statut Membre Dernière intervention   1 863
     
    Salut
    Tu trouveras pas de solution exacte à cette équation.
    Voici une solution approchée à 1e-64 près:
    5.3566939800333213068257690241890461696489175307032044327966837368
    Bonne nuit
    0
    1. erreip94 Messages postés 52 Statut Membre 1
       
      Bonsoir,
      Je te remercie pour ta réponse, qui paraît exacte.
      J'aurais cependant voulu obtenir la résolution complète de cette équation (pour le cas où j'en rencontre d'autres du même type).
      Pourrais-tu me la communiquer ?
      Merci encore.
      Cdlt.
      0
      1. Sacabouffe Messages postés 9427 Date d'inscription   Statut Membre Dernière intervention   1 863 > erreip94 Messages postés 52 Statut Membre
         
        Il y a pas de solution analytique à cette équation. Tu peux l'exprimer avec la Fonction W de Lambert mais bon... ça fait pas avancer le schmilblick. Dans ton cas la solution s'exprime de cette manière et je pense qu'à chaque équation de ce type il faut bidouiller (mais peut-être que je me trompe):
        x=e^(-W(-1/(2*e))-1)

        Si tu veux avoir une valeur approchée de ce genre d'équation, soit tu évalues la fonction W de Lambert et tu exprimes tout grâce à elle, soit tu résous par dichotomie par exemple.
        Avec Matlab le programme pour résoudre par dichotomie donnerait ça:
        function x=dichotomie(n)
        %% x->x-2-2*log(x) est croissante sur [2;20]
        %% 5-2-2ln(5)<0 et 6-2-2ln(6)>0
        %% on initialise la dichotomie sur l'intervalle [5;6]
        a=5;b=6;
        for p=1:n
            x=(a+b)/2;
            fx=x-2-2*log(x);
            if fx==0
                break;
            elseif fx<0
                a=x;
            elseif fx>0
                b=x;
            end
        end
        x=(a+b)/2;

        Bonne nuit
        0
      2. erreip94 Messages postés 52 Statut Membre 1 > Sacabouffe Messages postés 9427 Date d'inscription   Statut Membre Dernière intervention  
         
        Merci beaucoup pour ta réponse.
        Bonne nuit à toi.
        Cdlt.
        0
      3. Sacabouffe Messages postés 9427 Date d'inscription   Statut Membre Dernière intervention   1 863 > erreip94 Messages postés 52 Statut Membre
         
        De rien
        Bonne nuit
        0