Clemmellian Posté(e) le 27 mai 2021 Signaler Posté(e) le 27 mai 2021 Bonjour, J'ai le programme python à completer ! Cependant, je n"ai pas reussi à le completer complètement : def f(x): return (x**3-2*x-5) def f_prime(x): return (3*x**2-2) def Newton(x_0,nb_etapes): valeurs=[0]*(nb_etapes+1) valeur[0]=x0 for idValeur in range (x1,xn): x=valeurs[x_0+n] valeurs[idValeur]=x-1 return valeurs def affichage(liste): n=len(liste) for idValeur in range(n): print("x_{}={}".format(idValeur,liste[idValeur])) Merci : Doc22 m.odtAller chercher des informations… Citer
E-Bahut julesx Posté(e) le 27 mai 2021 E-Bahut Signaler Posté(e) le 27 mai 2021 Bonjour, Je te mets ci-après ton script avec mes corrections et/ou commentaires en rouge def f(x): return (x**3-2*x-5) def f_prime(x): return (3*x**2-2) def Newton(x_0,nb_etapes): valeurs=[0]*(nb_etapes+1) valeurs[0]=x_0 attention aux fautes de frappe for idValeur in range (1,nb_etapes+1): de façon à explorer toutes les valeurs en commençant par la deuxième x=valeurs[idValeur-1] x prend la valeur précédente puisqu'on veut calculer la valeur actuelle à la ligne suivante valeurs[idValeur]=x-1 faux, revois la méthode de newton, à quoi serviraient f(x) et f'(x) ? return valeurs def affichage(liste): n=len(liste) for idValeur in range(n): print("x_{}={}".format(idValeur,liste[idValeur])) Citer
E-Bahut PAVE Posté(e) le 27 mai 2021 E-Bahut Signaler Posté(e) le 27 mai 2021 Bonjour, La lecture du fil ci dessous pourrait peut-être t'être utile : https://www.e-bahut.com/topic/57858-continuité-des-fonctions-variable-réelle/ Citer
Clemmellian Posté(e) le 27 mai 2021 Auteur Signaler Posté(e) le 27 mai 2021 Je pense qu'il faut mettre pour: valeurs[idValeur]=x- f(a) / f'(a) +a ? Citer
E-Bahut julesx Posté(e) le 28 mai 2021 E-Bahut Signaler Posté(e) le 28 mai 2021 Bonjour, Le 27/05/2021 à 22:02, Clemmellian a dit : valeurs[idValeur]=x- f(a) / f'(a) +a Expand C'est quoi, ce a ? Dans la méthode de Newton, on calcule la nouvelle valeur en fonction de l'ancienne et des valeurs de la fonction et de la dérivée pour l'ancienne. Tu n'as pas lu ce que t'a posté PAVE (ou regardé sur la toile le principe de la méthode) ? L'ancienne valeur est dans x x=valeurs[idValeur-1] donc, c'est simplement valeurs[idValeur]=x- f(x) / f'(x) Essaie le script avec les rectifications, pour affichage(Newton(1.5,5)) tu dois trouver x_0=1.5 x_1=2.473684210526316 x_2=2.156432996122822 x_3=2.0966046038619233 x_4=2.094553850744971 x_5=2.0945514815454866 Citer
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.