• Aucun résultat trouvé

12.Recherche du z

N/A
N/A
Protected

Academic year: 2022

Partager "12.Recherche du z"

Copied!
2
0
0

Texte intégral

(1)

TSI - Travaux Pratiques d’informatique

12.Recherche du z´ ero d’une fonction

Nous utiliserons dans ce TP le langage de programmation Python au moyen de l’environnement de d´eveloppementIDLE.

Exemple 1. Fonctionlambda en Python.

>>> f=lambda x:x**3-x-1

>>> f(3) 23

Exercice 1. Cr´eer puis tester une fonctionevaluation des variablesf etaqui retourne l’image deapar la fonctionf.

(par exempleevaluation(lambda x:x∗ ∗3x1,3) vaut 23)

Exercice 2. On rappelle l’algorithme d’encadrement du z´ero d’une fonction continue strictement monotone par dichotomie :

Fonction: dichotomie(f, a, b, e)

Action: Encadrement d’amplitudeedu z´ero d’une fonction f sur l’intervalle [a;b] par dichotomie D´ebut

u←a v←b

TantQue v−u > efaire w← u+v

2

Sif(u)f(w)>0alors u←w

sinon v←w FinSi FinTantQue Renvoyeru,v Fin

Cr´eer puis tester une fonction dichotomie des variablesf,a,bet equi retourne un encadrement d’am- plitudeedu z´ero de la fonctionf sur l’intervalle [a;b].

(par exempledichotomie(lambda x:x∗ ∗3x1,1,2,10∗ ∗(5)) vaut (1.3247146606445312,1.3247222900390625))

Exercice 3. Cr´eer puis tester une fonctionnewton des variablesf,Df,aetnqui retourne le terme d’indice

nde la suite (uk)kN d´efinie par

u0 = a

uk+1 = uk− f(uk) Df(uk)

.

(par exemplenewton(lambda x:x∗ ∗3x1, lambda x: 3x∗ ∗21,1,7) vaut 1.324717957244746)

Exercice 4. Cr´eer puis tester une fonctionsecante des variablesf,a,betnqui retourne le terme d’indice

nde la suite (uk)kN d´efinie par





u0 = a u1 = b

uk+2 = uk+1−f(uk+1) uk+1−uk

f(uk+1)−f(uk) .

(par exemplesecante(lambda x:x∗ ∗3x1,1,2,7) vaut 1.3247179572446703)

www.emmanuelmorand.net 1/2 supTSI1617TpInfo12

(2)

TSI - Travaux Pratiques d’informatique 12.Recherche du z´ero d’une fonction

R´ eponses

1) def evaluation(f,a):

’’’calcul de l’image de a par la fonction f’’’

return(f(a))

2) def dichotomie(f,a,b,e):

’’’encadrement d’amplitude e du z´ero de f sur [a;b] par dichotomie’’’

u=a v=b

while v-u>e : w=(u+v)/2 if f(u)*f(w)>0:

u=w else:

v=w return(u,v)

3) def newton(f,Df,a,n):

’’’valeur approch´ee du z´ero de f par la m´ethode de newton en partant de a avec n it´erations’’’

u=a

for k in range(0,n):

u=u-f(u)/Df(u) return(u)

4) def secante(f,a,b,n):

’’’valeur approch´ee du z´ero de f sur [a,b] par la m´ethode de la s´ecante avec n it´erations’’’

u=a v=b

for k in range(0,n):

w=v-f(v)*(v-u)/(f(v)-f(u)) u=v

v=w return(v)

www.emmanuelmorand.net 2/2 supTSI1617TpInfo12

Références

Documents relatifs

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des

Ensuite, après avoir fait la somme de ce [trois] devenu dernier, avec le nombre deux, deuxième parmi les précédents, et — à cause de la phrase : « en l’absence du quatrième et

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des

Exercice 1.3 Ecrire un programme permettant d’effectuer la moyenne de n entiers saisis sur l’en- trée standard (-1 pour s’arrêter).. Exercice 1.4 Ecrire un programme qui calcule

Exercice 1.3 Ecrire un programme permettant d’effectuer la moyenne de n entiers saisis sur l’entrée stan- dard (-1 pour s’arrêter).. Exercice 1.4 Ecrire un programme qui calcule

1) Lancer l’éditeur MU. 2) Reprendre les scripts suivants.. 3) En déduire le rôle de la structure for.

[r]

Internet est le média le plus utilisé quant il s’agit d’apprendre à programmer et un module Python est plus pratique pour s’assurer qu’un code Python reste valide lors du