Bonjour à tous,

J'ai une question en 2 parties:

Je cherche à retrouver y'(0) solution de l'équation xexp[1/(1+x)]-4=0 via l'algorithme de Newton.

On me dit que mon résultat doit être d'environ 3.14.

Voici mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
import numpy as np
import matplotlib.pyplot as plt
x0=1
 
def F(x):
    return x*np.exp(1/(1+x))-4
 
def Fp(x):
    return (np.exp(1/(1+x)))*(x/(1+x))
 
x=x0
 
for i in range(1):
    x = x - F(x)/Fp(x)
    print(x)
Jusque là tout va bien j'obtiens ce que l'on me demande.

Partie 2: Définir une fonction yp() dont l'appel yp(y,yp0) calcule, grâce à l'algorithme de Newton, étant donné y et une valeur de initiale yp0, la valeur y' vérifiant l'équation y*y'*exp(1/(1+y')=4.
Par exemple, `yp(1.6, 0.5)` devrait retourner la valeur y' correspondant au cas où y prendrait la valeur 1.6 (l'algorithme de Newton déterminant y' étant initialisé avec une première estimation
égale à \num{0.5}).

Et là je suis bloquée je ne vois pas du tout faire le code même si je pense savoir la méthode:
- Je reprends les équations de la 1ère partie afin d'avoir mon F(x) et mon F'(x).
Par contre comment je définie yp0 et y de manière à faire l'appel de la fonction.

J'ai commencé ça (qui bien entendu me renvoie une erreur que je n'arrive pas à corriger):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
import numpy as np
import matplotlib.pyplot as plt
def Newton(x):
    xi=1
    x=xi
    for i in range(20):
        x = xi - F(x)/Fp(x)
    return yp
 
print (yp(1.6,0.5))
Quelqu'un peut-il m'aider s'il vous plaît?

En attendant une réponse je vous souhaite à tous une bonne journée