Lycée   >   Terminale   >   Mathématiques   >   Le calcul approché d'intégrales ou de limites de sommes avec Python

Le calcul approché d'intégrales ou de limites de sommes avec Python

  • Fiche de cours
  • Quiz
  • Profs en ligne
Objectif

Écrire un programme Python permettant de calculer une valeur approchée d’une intégrale.

Points clés
  • Pour déterminer une valeur approchée d’intégrales, on peut utiliser différentes méthodes : la méthode des rectangles, la méthode des milieux, la méthode des trapèzes et la méthode de Monte Carlo.
  • Exemple de programme Python traduisant la méthode des rectangles :
  • Exemple de programme Python traduisant la méthode des milieux :
  • Exemple de programme Python traduisant la méthode des trapèzes :
  • Exemple de programme Python traduisant la méthode de Monte Carlo :
Pour bien comprendre
  • Utiliser le calcul intégral.
  • Calculer des probabilités.
1. La subdivision d'un intervalle

On considère une fonction f définie sur un intervalle [a ; b].

On partage l’intervalle [a ; b] en n intervalles de même amplitude.

En zoomant sur l’axe des abscisses, on peut remarquer que :

  • la longueur de l’intervalle [a ; b] est (ba) ;
  • comme on a découpé l’intervalle en n parts égales, on obtient n sous-intervalles de longueur  ;
  • l’intervalle [a ; b] est alors gradué de la façon suivante :
    a ;  ;  ; … ; b.
    La (k + 1)e graduation est donc .

Les images de chacune de ces valeurs sont alors respectivement :
f(a) ;  ; … ;  ; … ; f(b).

2. La méthode des rectangles
a. Principe

Soit f une fonction définie sur un intervalle I et a et b deux réels de I.
On cherche à déterminer l’approximation d’une intégrale de la forme , avec a < b, en estimant l’aire sous la courbe représentative de la fonction à l’aide de rectangles situés sous la courbe.
Pour cela, on se fixe un nombre n de rectangles de même largeur, tracés de telle façon que le sommet haut à gauche appartient à la courbe représentative de f.

On peut alors calculer l’aire de chacun des rectangles.
Le premier rectangle a pour longueur f(a) et pour largeur , donc son aire est .
Le deuxième rectangle a pour longueur  et pour largeur , donc son aire est .

L’aire du (k + 1)e rectangle est alors .
Et l’aire du n-ième rectangle est égale à .
On peut donc écrire que :

              

On calcule alors cette somme à l’aide de l’algorithme suivant, en langage naturel :

Fonction rectangle(a, b, n)
   S ← 0
   Pour k allant de 0 à (n–1)
      S ← S+(b–a)/n×f(a+k×(b–a)/n)
   Fin Pour
   Retourner S
Fin Fonction
b. Programme Python
Programme Python Commentaires

On déclare la fonction à intégrer.
On écrit avec la commande return l’expression de la fonction, ici la fonction carré.

On traduit en langage Python l’algorithme expliqué dans la partie 2.a.

Exemple
Calculons une valeur approchée de l’intégrale en utilisant le programme Python décrit précédemment.
On peut calculer une première estimation en choisissant de prendre 10 rectangles, puis 1000, puis 10 000 :
On obtient donc les valeurs approchées suivantes :
  • 0,285 arrondie au millième avec 10 rectangles ;
  • 0,333 arrondie au millième avec 1000 rectangles ;
  • 0,333 arrondie au millième avec 10 000 rectangles.
Remarques

Plus n est grand, plus l’approximation est précise.

On peut également utiliser la méthode des rectangles à droite. Pour cela, on se fixe un nombre n de rectangles de même largeur tracés tel que le sommet haut à droite appartient à la courbe :

 

L’aire du (k + 1)e est alors .
Le programme Python devient :
3. La méthode des milieux
a. Principe

Soit f une fonction définie sur un intervalle I et a et b deux réels de I.
On cherche à déterminer l’approximation d’une intégrale de la forme , avec a < b, en estimant l’aire sous la courbe représentative de la fonction à l’aide de rectangles situés sous la courbe.
Pour cela, on se fixe un nombre n de rectangles de même largeur, tracés de telle façon que le sommet haut à gauche appartient à la courbe représentative de f.

De manière similaire à la méthode des rectangles, on va calculer l’aire du (k + 1)e rectangle.
Il a pour largeur et pour longueur l’image de la moyenne de  et , c’est-à-dire de , soit .
Son aire est donc égale à .
On peut donc écrire que :

              

On calcule alors cette somme à l’aide de l’algorithme suivant, en langage naturel :

Fonction milieux(a, b, n)
   S ← 0
   Pour k allant de 0 à (n–1)
      S ← S+(b–a)/n×f(a+(k+1/2)×(b–a)/n)
   Fin Pour
   Retourner S
Fin Fonction
b. Programme Python
Programme Python Commentaires

On déclare la fonction à intégrer.
On écrit avec la commande return l’expression de la fonction, ici la fonction carré.

On traduit en langage Python l’algorithme expliqué dans la partie 3.a.

Exemple
Calculons une valeur approchée de l’intégrale en utilisant le programme Python décrit précédemment.
On peut calculer une première estimation en choisissant de prendre 10 rectangles, puis 1000, puis 10 000 :
On obtient donc les valeurs approchées suivantes :
  • 0,3325 avec 10 rectangles ;
  • 0,333 arrondie au millième avec 1000 rectangles ;
  • 0,333 arrondie au millième avec 10 000 rectangles.
Remarque
Sachant que ,on peut observer qu’à n égaux les résultats sont plus précis qu’avec la méthode des rectangles.
4. La méthode des trapèzes
a. Principe

Soit f une fonction définie sur un intervalle I et a et b deux réels de I.
On cherche à déterminer l’approximation d’une intégrale de la forme , avec a < b, en estimant l’aire sous la courbe représentative de la fonction f à l’aide de trapèzes situés sous la courbe.
Pour cela, on se fixe un nombre n de trapèzes de même hauteur, tracés comme sur la figure suivante.

L’aire d’un trapèze est donné par la relation : h est appelé hauteur, b petite base et B grande base.

De manière similaire à la méthode des rectangles, on va calculer l’aire du k-ième trapèze.
Ses caractéristiques sont les suivantes :

  • sa hauteur est égale à  ;
  • sa grande base est l’image de , donc  ;
  • sa petite base est l’image de , donc .

Son aire est donc :

    

On peut donc écrire que :

              
              

On calcule alors cette somme à l’aide de l’algorithme suivant, en langage naturel :

Fonction trapezes(a, b, n)
   S ← 0
   Pour k allant de 1 à n
      S ← S+(b–a)/2n×(f(a+(k–1)×(b–a)/n)+f(a+k×(b–a)/n)
   Fin Pour
   Retourner S
Fin Fonction
b. Programme Python
Programme Python Commentaires

On déclare la fonction à intégrer.
On écrit avec la commande return l’expression de la fonction, ici la fonction carré.

On traduit en langage Python l’algorithme expliqué dans la partie 4.a.

Exemple
Calculons une valeur approchée de l’intégrale en utilisant le programme Python décrit précédemment.
On peut calculer une première estimation en choisissant de prendre 10 rectangles, puis 1000, puis 10 000 :
On obtient donc les valeurs approchées suivantes :
  • 0,335 avec 10 rectangles ;
  • 0,333 arrondie au millième avec 1000 rectangles ;
  • 0,333 arrondie au millième avec 10 000 rectangles.
5. La méthode de Monte Carlo
a. Principe

Soit f une fonction définie sur un intervalle I et a et b deux réels de I.
On cherche à déterminer l’approximation d’une intégrale de la forme , avec a < b, en estimant l’aire sous la courbe représentative de la fonction f de manière statistique.

On commence par déterminer un rectangle de largeur (b – a) et de longueur f(m)m est le maximum de la fonction sur l’intervalle [a ; b]. Comme f est continue sur [a ; b], le théorème des valeurs intermédiaires assure son existence.
En reprenant l’exemple précédent, on obtient la configuration suivante :

Ici, le maximum est atteint en b.
Si on prend un point au hasard dans ce rectangle, la probabilité qu’il soit situé sous la courbe est alors égale à où nous avons :

  • As est l’aire située sous la courbe, donc ;
  • AR est l’aire du rectangle, donc AR = (b – a)f(m).

On en déduit donc que :

Comme on ne connait pas la probabilité p, on peut l'estimer en prenant un nombre N de points au hasard dans le rectangle et en comptant le nombre n d’entre eux situés sous la courbe.
La fréquence définie par  est alors une approximation de p. Plus N est grand, plus f est proche de p.
On a donc avec f la fréquence des points obtenus sous la courbe.

Pour générer des points au hasard dans le rectangle, il suffit de générer :

  • une abscisse x comprise entre a et b avec la commande random ;
  • une ordonnée y comprise entre 0 et f(m) avec la commande random.

Si y ≤ f(x), alors le point est sous la courbe, sinon il est au-dessus. Pour N points obtenus de manière aléatoire, on a donc l’algorithme suivant, en langage naturel :

Fonction montecarlo(a, b, m, n)
   n ← 0
   Pour k allant de 1 à N
      x ← random(a,b)
      y ← random(0,f(m))
      Si yf(x) alors
         n ← n+1
      Fin Si
   Fin Pour
   I ← (n/N)×(b–a)×f(m)
   Retourner I
Fin Fonction

I est l’approximation de l’intégrale.

b. Programme Python
Programme Python Commentaires

On importe la bibliothèque random.

On déclare la fonction. On écrit avec la commande return l’expression de la fonction, ici la fonction carré.

On traduit en langage Python l’algorithme expliqué dans la partie 5.a.

La fonction uniform(a,b) génère aléatoirement un nombre réel compris entre a et b.

Exemple
Calculons une valeur approchée de l’intégrale en utilisant le programme Python décrit précédemment.
On sait que la fonction carré admet un maximum en 1 sur l’intervalle [0 ; 1]. On peut calculer une première estimation en choisissant de prendre 10 points, puis 1000, puis 10 000 :
On obtient donc les valeurs approchées suivantes :
  • 0,1 avec 10 points ;
  • 0,333 arrondie au millième avec 1000 points ;
  • 0,333 arrondie au millième avec 10 000 points.
Remarque
La génération des points étant aléatoire, chaque usage de la fonction renverra un résultat légèrement différent. Voici un échantillon de trois approximations à l’aide de 10 000 points.

Comment as-tu trouvé ce cours ?

Évalue ce cours !

 

Question 1/5

La médiane de 6 notes est 13. Cela signifie que :

Question 2/5

On a obtenu la série statistique suivante :

Combien vaut la médiane ?

Question 3/5

On a obtenu la série ci-dessous :

Quelle est la médiane de cette série ?

Question 4/5

On a relevé les tailles en cm des élèves d’une classe :

 

Parmi les propositions suivantes, laquelle est vraie ?

Question 5/5

Les notes en français de deux classes littéraires sont données dans le tableau suivant :

Quelle est la note médiane ?

Vous avez obtenu75%de bonnes réponses !

Recevez l'intégralité des bonnes réponses ainsi que les rappels de cours associés :

Votre adresse e-mail sera exclusivement utilisée pour vous envoyer notre newsletter. Vous pourrez vous désinscrire à tout moment, à travers le lien de désinscription présent dans chaque newsletter. Pour en savoir plus sur la gestion de vos données personnelles et pour exercer vos droits, vous pouvez consulter notre charte.

Une erreur s'est produite, veuillez ré-essayer

Consultez votre boite email, vous y trouverez vos résultats de quiz!

Découvrez le soutien scolaire en ligne avec myMaxicours

Le service propose une plateforme de contenus interactifs, ludiques et variés pour les élèves du CP à la Terminale. Nous proposons des univers adaptés aux tranches d'âge afin de favoriser la concentration, encourager et motiver quel que soit le niveau. Nous souhaitons que chacun se sente bien pour apprendre et progresser en toute sérénité ! 

Fiches de cours les plus recherchées

Mathématiques

Listes en Python : application aux statistiques et probabilités- Terminale- Mathématiques

Mathématiques

Listes en Python : application aux suites et aux fonctions- Terminale- Mathématiques

Mathématiques

Listes en Python : application à la géométrie plane- Terminale- Mathématiques

Mathématiques

Listes en Python : application aux ensembles

Mathématiques

Listes en Python : création et manipulation- Terminale- Mathématiques

Mathématiques

Le calcul approché de nombres remarquables avec Python

Mathématiques

L'inégalité de Bienaymé-Tchebychev

Mathématiques

Des applications de l'inégalité de Bienaymé-Tchebychev

Mathématiques

CanardMasqué présente : Les systèmes de numération

Mathématiques

Asymptote parallèle à l'un des axes de coordonnées

Mathématiques

Fonctions dérivables

Mathématiques

Règles de dérivation

Mathématiques

Dérivée et étude d'une fonction

Mathématiques

Dérivation d'une fonction composée

Mathématiques

Les fonctions du type exp(u) et ln(u)

Mathématiques

Le raisonnement par récurrence

Mathématiques

Primitives d'une fonction

Mathématiques

Primitives et fonctions composées

Mathématiques

Intégration par parties