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:
Jusque là tout va bien j'obtiens ce que l'on me demande.
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)
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):
Quelqu'un peut-il m'aider s'il vous plaît?
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))
En attendant une réponse je vous souhaite à tous une bonne journée![]()
Partager