Math_Equation

Résolu
erreip94 Messages postés 43 Date d'inscription   Statut Membre Dernière intervention   -  
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

Sacabouffe Messages postés 9427 Date d'inscription   Statut Membre Dernière intervention   1 835
 
Salut
Tu trouveras pas de solution exacte à cette équation.
Voici une solution approchée à 1e-64 près:
5.3566939800333213068257690241890461696489175307032044327966837368
Bonne nuit
0
erreip94 Messages postés 43 Date d'inscription   Statut Membre Dernière intervention   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
Sacabouffe Messages postés 9427 Date d'inscription   Statut Membre Dernière intervention   1 835 > erreip94 Messages postés 43 Date d'inscription   Statut Membre Dernière intervention  
 
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
erreip94 Messages postés 43 Date d'inscription   Statut Membre Dernière intervention   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
Sacabouffe Messages postés 9427 Date d'inscription   Statut Membre Dernière intervention   1 835 > erreip94 Messages postés 43 Date d'inscription   Statut Membre Dernière intervention  
 
De rien
Bonne nuit
0