Aller au contenu

Leçon 7

Les pentes des sécantes en Python

Vidéo 7 : Liste des pentes des sécantes en Python · 3 min 44 s · sous-titres en français

Le cours écrit

7.1 Une fonction pour une pente

On écrit d'abord la fonction f. Pour changer de fonction, c'est la seule ligne à modifier. La fonction pente renvoie le taux de variation entre a et a + h.

def f(x):
    return x**2

def pente(a, h):
    return (f(a + h) - f(a)) / h

Ainsi, pente(1, 0.5) renvoie 2.5. En langage naturel, on écrirait : p←f(a+h)−f(a)hp \leftarrow \dfrac{f(a + h) - f(a)}{h}, puis renvoyer pp.

7.2 La liste, pour un pas donné

Le point AA d'abscisse aa reste fixe. Pour un pas donné, on considère les points MkM_k d'abscisses a+k×pasa + k \times \text{pas}, avec kk allant de 11 à nn. La fonction pentes construit la liste des coefficients directeurs des sécantes (AMk)(AM_k).

def pentes(a, pas, n):
    liste = []
    for k in range(1, n + 1):
        liste.append(pente(a, k * pas))
    return liste

Ainsi, pentes(1, 0.5, 4) renvoie [2.5, 3.0, 3.5, 4.0].

7.3 Arrondir

La machine écrit les nombres en base 22, et 0,10{,}1 ne s'y écrit pas exactement. Par exemple, pente(1, 0.1) renvoie 2.100000000000002. Ce n'est pas une erreur du programme. On arrondit avec round, ici à six décimales, et l'on peut écrire la liste en compréhension :

def pentes(a, pas, n):
    return [round(pente(a, k * pas), 6) for k in range(1, n + 1)]

Ainsi, pentes(1, 0.1, 4) renvoie [2.1, 2.2, 2.3, 2.4].

7.4 Quand le pas diminue

La première pente de la liste est celle du point le plus proche de AA.

Appel Résultat
pentes(1, 0.1, 3) [2.1, 2.2, 2.3]
pentes(1, 0.01, 3) [2.01, 2.02, 2.03]
pentes(1, 0.001, 3) [2.001, 2.002, 2.003]
pentes(1, -0.1, 3) [1.9, 1.8, 1.7]
pentes(1, -0.01, 3) [1.99, 1.98, 1.97]

Quand le pas diminue, la première pente se rapproche de f′(1)=2f'(1) = 2. En remplaçant f par la fonction inverse, pentes(2, 0.0001, 1) renvoie [-0.249988], proche de −0,25-0{,}25, le nombre dérivé de l'exemple 8.

7.5 Une limite de la machine

Peut-on prendre un pas aussi petit que l'on veut ? Non. Pour la fonction carré, pente(1, 10**-15) renvoie 2.220446049250313, alors que f′(1)=2f'(1) = 2 : un pas trop petit fait perdre la précision, à cause des arrondis. Un calcul numérique illustre le nombre dérivé, il ne le démontre pas.

Lire le cours complet du chapitre

Exercices 13 et 14

  • Exercice 13 : lire un programme
  • Exercice 14 : écrire un programme

Exercices du chapitre (PDF, 142 Ko)

Corrigés

Cherche d'abord les exercices sur ta feuille, puis compare avec le corrigé détaillé.

Corrigés du chapitre (PDF, 134 Ko)

Tu es hors connexion. Les chapitres téléchargés restent disponibles dans Hors connexion.