Bonjour,
J'ai un exercice portant sur la méthode Newton raphson avec la fonction f définie sur R par f(x)=x³-4x²+1
F'(x)= 3x²-8x
Puis cet algorithme :
from math import *
def f(x) :
return x**3-4x**2+1
def déprime (x) :
return 3x**2-8x
def newton (a,p) :
x=a
n=0
while abs (f(x))>=10**(-p) :
x=a+1
n=n+1
return x,n
a correspond à x0 =1 et p à la précision à 10-p près.
On demande le nombre itérations pour avoir une précision à 10‐³.
J'ai donc créé ce programme sur ma calculatrice puis fait var newton(1,3) mais ça ne fonctionne pas.
Pouvez-vous m'expliquer ce qui ne va pas svp ?
salut
tu devrais revoir ce qu'est la méthode de Newton-Raphson car il est évident que l'instruction x + a + 1 dans la boucle while est fausse ...
en particulier tu définis la fonction f' et tu ne t'en sers pas ...
Bonjour,
et aussi juste en passant, je laisse carpediem
... et en plus des erreurs de syntaxe :
la multiplication implicite, par exemple 8x, n'existe pas.
pourquoi var dans ton appel ?
var newton(1,3)
Tu as déclaré forfait ? dommage.
Pour le plaisir de programmer en Python, nous étions toutes et tous impatient(e)s de t'aider
As tu suivi le bon conseil de Carpediem ?
J'ai fait
from math import *
def f(x) :
return x**3-4*x**2+1
def fprime (x) :
return 3*x**2-8*x
def newton (a,p) :
x=a
n=0
while abs (f(x))>=10**(-p) :
x=x-f(x)/fprime(x)
n=n+1
return x,n
Newton (1,3)
On dirait que ça a fonctionné
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :