ECOLE ROYALE C.2022/23
NAVALE Python et Matlab
TP 2
Exercice1. Lire et comprendre les deux fonctions suivantes :
def dichotomie(f,a,b,eps,ITERMAX):
# initialisation
fa = f(a)
fb = f(b)
# erreur sur l intervalle
if fa*fb > 0.0:
print("La racine n est pas encadree")
# boucle principale
k=0
while(k<ITERMAX) :
c = (a+b)*0.5
fc = f(c)
if abs(b-a) <= eps:
return k,c
if fa*fc <= 0.0:
b = c
fb = fc
else:
a = c
fa = fc
k=k+1
# si on depasse ITERMAX
print("MAXIMUM D'ITERATION ATTEINT")
return k,c
#==============================================================================
def newton(f,df,x0,eps,ITERMAX):
x=x0-f(x0)/df(x0)
k=1
while ((abs(x-x0)>eps )and (k<ITERMAX)):
x0=x
x=x0-f(x0)/df(x0)
k=k+1
return k, x
# ==============================================================================
Exercice 2. Soit f : ,    .
(1) Pour cette fonction, cherchez une approximation du zéro   dans l'intervalle [0; 3; 5]
par la méthode de dichotomie.
(2) Programmez la méthode de Newton en partant de la valeur initiale x = 1.
(3) Programmez la méthode de Lagrange ou la sécante.
(4) Comparez le nombre d'itérations nécessaires pour ces méthodes pour obtenir c avec la
précision ,   puis 
Exercice 3. Soit f :  ,  .
(1) Cherchez une approximation du zéro   par les thodes suivantes :
la méthode de la dichotomie sur [0; 1.5];
la méthode de Lagrange sur [0; 1.5];
la méthode de Newton, en partant de la valeur initiale x = 0.8.
(2) Comparez le nombre d'itérations nécessaires pour ces méthodes pour obtenir avec la
précision .
(3) Pour chaque méthode, tracez une courbe qui permet d'afficher l'erreur  entre
le point calculé à l'itération et la solution en fonction du nombre d'itérations.
Prenez soin d'utiliser une échelle logarithmique pour l'axe des ordonnées.
(4) Donnez une conclusion sur le comportement de l'erreur pour ces différentes méthodes.
1 / 1 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !