python

Calcul intégral avec Python

Exercice 14 ( Extrait Bac Métropole juin 2013, méthode des rectangles à gauche )

Soit f la fonction définie sur \mathbb R par f(x)=(x+2)e^{\frac{1}{2}x}. On note \mathcal C  sa courbe représentative dans le plan muni d’un repère \left(O;\vec{i};\vec{j} \right). On pose  \mathcal I=\int_0^1f(x)dx.

  1. interpréter géométriquement le réel \mathcal I
  2. On donne la fonction A du programme python suivant :

    On note s_n le nombre renvoyé par la fonction A lorsqu’elle est appelé avec l’entier n strictement positif. Justifier que s_3 représente l’aire hachuré sur le graphique ci-dessous où les trois rectangles ont la même largeur.

  3. Que dire de la valeur renvoyée par la fonction A lorsque la valeur n, lors de l’appel, devient grande?
  4. Écrire un programme Python qui utilise la fonction A(n) pour calculer une valeur approchée de \mathcal I=\int_0^1f(x)dx on donne la valeur exacte de \mathcal I=2\sqrt{e}\approx{3.297},
  1. Sur l’intervalle [0;1], la fonction f est positive: le réel \mathcal I représente l’aire délimité par l’axe des abscisses la courbe \mathcal C et les droites x=0, x=1.
  2. L’appel de la fonction pour n=3 renvoie la valeur de

        \[\frac{1}{3}f(0)+\frac{1}{3}f(\frac{1}{3})+\frac{1}{3}f(\frac{2}{3})\]

    Le domaine hachuré sous la courbe de la figure se compose de 3 rectangles de largeur commune \frac{1}{3} et de hauteurs respectives :

        \[f(0);~f(\frac{1}{3});~f(\frac{2}{3})\]

    Donc l’aire de ce domaine est égale à s_3.
  3. Lorsque n devient grand la valeur renvoyée par cet appel va converger vers la valeur de I .
  4. Voici le programme Python qui calcul une valeur approché de \mathcal I: en affichant A(50), A(100),A(200),\cdots on remarque que lorsque n devient grand A(n) s’approche de la valeur de \mathcal I .
  5. Remarque pour afficher 2\sqrt{e} utiliser l’instruction print(2*sqrt(exp(1)))

Exercice 15 ( méthode des rectangles à droite )

Soit f la fonction définie sur \mathbb R par f(x)=(x+2)e^{\frac{1}{2}x}. On note \mathcal C  sa courbe représentative dans le plan muni d’un repère \left(O;I;J \right). On pose  \mathcal I=\int_0^1f(x)dx.

  1. interpréter géométriquement le réel \mathcal I
  2. On donne la fonction Ad du programme python suivant :

    On note s_n le nombre renvoyé par la fonction A lorsqu’elle est appelé avec l’entier n strictement positif. Justifier que s_3 représente l’aire hachuré sur le graphique ci-dessous où les trois rectangles ont la même largeur.

  3. Que dire de la valeur renvoyée par la fonction A lorsque la valeur n, lors de l’appel, devient grande?
  4. Écrire un programme Python qui utilise la fonction Ad(n) pour calculer une valeur approchée de \mathcal I=\int_0^1f(x)dx on donne la valeur exacte de I=2\sqrt{e}\approx{3.297},
  5. Comparer les valeurs de A(100) de l’exercice précédent, la valeur exacte de \mathcal I et Ad(100)
  1. Sur l’intervalle [0;1], la fonction f est positive: le réel \mathcal I représente l’aire délimité par l’axe des abscisses la courbe \mathcal C et les droites x=0, x=1.
  2. L’appel de la fonction pour n=3 renvoie la valeur de

        \[\frac{1}{3}f(\frac{1}{3})+\frac{1}{3}f(\frac{2}{3})+\frac{1}{3}f(1)\]

    Le domaine hachuré sous la courbe de la figure se compose de 3 rectangles de largeur commune \frac{1}{3} et de hauteurs respectives :

        \[f(\frac{1}{3});~f(\frac{2}{3});~f(1)\]

    Donc l’aire de ce domaine est égale à s_3.
  3. Lorsque n devient grand la valeur renvoyée par cet appel va converger vers la valeur de I .
  4. Voici le programme Python qui calcul une valeur approché de \mathcal I: en affichant Ad(50), Ad(100),Ad(200),\cdots on remarque que lorsque n devient grand Ad(n) décroit en convergeant vers la valeur exacte de \mathcal I .
  5. A(100) \leq \mathcal I \leq Ad(100)

Exercice 16 ( Méthode de Monté-Carlo )

Soit f la fonction définie sur [0; 1] par f(x) =\frac{1}{x^2+1}
et \mathcal I=\int_0^1 f(x)dx
Dans un repère orthonormée on trace \color{red}{ \mathcal C_f} la courbe représentative de f sur [0; 1].

On choisit au hasard un point M (x ; y) en tirant de façon indépendante ses coordonnées
x et y dans l’intervalle [0; 1].
on répète n fois cette expérience et on compte le nombre de point M (x ; y) qui sont au-dessous de la courbe \color{red}{\mathcal C_f}.
La figure ci-dessous illustre ce processus pour n = 100.

Les disques noirs correspondent aux points sous la courbe, les disques blancs aux points au-dessus de la
courbe.

  1. Quelle est la condition que doivent vérifier les coordonnées du point M tiré au hasard pour qu’il soit sous la courbe \textcolor{red}{\mathcal C_f}.
  2. Que peut-on dire de la fréquence obtenue par le rapport du nombre de disques noirs sur le nombre total de disques, lorsque on augmente l’entier n.
  3. Exprimer la probabilité p qu’un point tiré de cette manière soit situé sous la courbe \textcolor{red}{ \mathcal C_f} en fonction de \mathcal I=\int_0^1 f(x)dx.
  4. Compléter l’algorithme ci-dessous pour qu’il affiche la proportion p des points noirs dans le carré. L’instruction random() génère un nombre aléatoire compris entre 0 et 1 .

5. Ecrire un programme python qui donne une valeur approchée de \mathcal I.

  1. Le point M(x;y) tiré au hasard est sous la courbe si y \leq f(x).
  2. Quand n augmente la fréquence des points sous la courbe s’approche de la probabilité qu’un point tiré au hasard soit situé sous la courbe.
  3. Comme \mathcal I est l’aire de la partie inférieur du carré délimitée par la courbe et que l’aire total du carré est égale à 1, alors la probabilité p qu’un point tiré de cette manière soit situé sous la courbe est p=\frac{\mathcal I}{1}=\mathcal I.
  4. On complète la ligne 9 du programme par la condition qu’un point tiré soit sous la courbe: if  y < = f(x): et à la ligne 10, on incrémente le compteur c de 1 : c=c+1.
  5. Voici le programme python qui donne une valeur approchée de \mathcal I par la méthode Monté-Carlo. Afficher la valeur de I par l’instruction print I.
    Remarque: La valeur exacte de cette intégrale est \pi/4.

 

Une réponse à python

  1. Administrator dit :

    Ecrire un commentaire pour aider à améliorer le contenu

Les commentaires sont fermés.