TD n°2 - Algorithmes Fonctions
Thèmes
Écriture de fonctions comportant plusieurs arguments (dont une autre fonction), tableau de valeurs avec pas, tracés via le module matplotlib, résolution d’équations par balayage.
Exercice 1. Tableau de valeurs et graphique
1. On commence par définir deux listes.
# TD Fonctions 2 : Nom
L = [ i for i in range(11) ] # Liste d’entiers de 0 à 10 soit 11 valeurs
L01 = [ i/10 for i in range(11) ] # Liste de décimaux de 0 à 1 avec un pas de 0.1 soit 11 valeurs
Code Python
2. Définir la fonctionf :x7−→f(x)=x3−3x+1 puis calculer les images parf des listes.
# def f(x) :
returnx∗ ∗3−3∗x+1
#
imageL= #À compléter.
imageL01= #À compléter.
#
Code Python
3. Nous allons d’écrire une fonction qui renvoie un couple (x01,imagesx01) constitué d’une liste x01 des abscisses sur [0,1] et d’une liste des images. Il y aura (n+1) valeurs sur [0,1].
#
def tableauvaleurs1(fonc,n) :
assert n>1 # pour vérifier que l’argument n est adapté x01=[i/nfor i in range(n+1) ]
imagesx01= #À compléter.
return (x01,imagesx01)
Code Python
4. Nous allons d’écrire une fonction qui renvoie un couple (xab,imagesxab) constitué d’une liste xab des abscisses sur [a,b] et d’une liste des images. Il y aura (n+1) valeurs sur [a,b].
#
def tableauvaleurs2(fonc,a,b,n) :
’ ’ ’envoie un couple (xab,imagesxab) constitué d’une liste xab des abscisses sur [a,b] et d’une liste des images. Il y aura (n+1) valeurs sur [a,b]’ ’ ’ assert n>1 and a<b
h=(b−a)/n # largeur d’un sous-intervalle xab = [a+i∗hfor i in range(n+1) ]
imagesxab = #À compléter.
return (xab,imagesxab)
Code Python
TD n°2 - Algorithmes - Fonctions
5. Construire comme dans le TD Fonctions 1, le nuage de points correspondants.
#
import matplotlib.pyplot as plt fig = plt.figure()
#
(vx,vy) = tableauvaleurs2(f,-10,10,100) plt.plot(vx , vy , ’ . ’ , color = ’red’)
fig.savefig(’graph.png’) # ou plt.show() sur anaconda
Code Python
Exercice 2. Application : résolution d’une équation par balayage
6. A l’aide du graphique de la question précédente,conjecturer le nombre de solutions de l’équation f(x)=0 sur l’intervalle [1 ; 2].
7. On va modifier un peut l’affichage du tableau. On cherche une fonction tableauvaleurs3 qui renvoi une liste des couples (x; f(x)).
#
def tableauvaleurs3(fonc,a,b,n) :
’ ’ ’envoie une liste de couples (x,f(x)) avec x prenant (n+1) valeurs sur [a,b]’ ’ ’
#À compléter.
Code Python
8. Tester la fonction sur [1 ; 2]. On doit obtenir par exemple :
9. On admet que l’équationf(x)=0 admet une unique solution, que l’on peut noterα(se lit alpha), sur cet intervalle [1 ; 2]. En utilisant la fonction tableauvaleurs3, donner un encadrement deαau dixième, puis au centième, puis au millième.
10. L’équation f(x)=0 admet deux autres solutions surR, que l’on peut noterβ(se lit béta) etγ(se lit gamma). En utilisant la même méthode, déterminer un encadrement deβetγau centième.
[ Fin du devoir \
www.math93.com / M. Duffaud 2/2