TP algo – méthode de Monté-Carlo

On veut dans ce TP estimer l’aire délimitée par la courbe de la Perle de Sluse déjà étudiée en DM n°6 dans le cadre de l’étude de la dérivabilité de

\boxed{f:x \mapsto f(x)=\sqrt{x(10-x)^3} \text{ sur } \left[0~;~10\right].}

En comptant les (gros) carreaux sur la figure ci-dessous, quel encadrement obtient-on ?

cm 2019-10-15 DM6 A3 perle de Sluse

Méthode de Monté-Carlo

cm 2020-01-07 et 2020-01-14 - TS1 - TP Monté Carlo

Il s’agit de « tirer » un certain nombre N de points au hasard dans le rectangle \mathscr{R} délimité par \mathscr{R} : \left\lbrace\begin{array}{l}0 \leqslant x \leqslant 10\\0 \leqslant y \leqslant 40\end{array}\right. et de compter ceux (en rouge) qui sont au dessous de la courbe (en vert) et ne pas compter ceux qui sont au dessus (en bleu).

Si le nombre de points comptés (en rouge) est noté R, la fréquence f=\dfrac{R}{N} va tendre, quand N tend vers l’infini, vers la probabilité théorique que le point soit rouge d’après la loi des grands nombres.

Puisque le rectangle \mathscr{R} a une aire de 10 \times 40 = 400 ~~u.a. (unités d’aires), l’aire occupée par les points rouge est d’approximativement f \times 400.

Télécharger le fichier geometrie.py dans un dossier personnel de votre choix.

Commencer un autre programme python enregistré dans le même dossier que geometrie.py par :

from geometrie import *
from random import random
from math import sqrt

def f(x):
    return sqrt(x * (10 - x) ** 3)

Rep=Repere(0, 10, 1, 0, 40, 5, axe='oui', grille='oui')
Rep.trace_point(2, f(2), 5, "green")

Comprendre déjà ce que fait ce programme.

La fonction random() renvoie un nombre pseudo-aléatoire entre zéro et un.

Compléter ce programme pour qu’il fasse 10000 « tirages » de points et évalue la fréquence de points « rouges », puis l’aire :

L'aire vaut à peu près 197.8 u.a.
>>>

Notre Perle de Sluse délimite alors une aire d’environ 2 \times 197,8 = 395,6~~u.a. 😀

Augmenter le nombre de tirages pour une approximation plus précise.

Comparer avec le résultat de Xcas : \boxed{\mathscr{A}_{Perle~~de~~Sluse} = 125\pi \simeq 392,699081699}

f(x):=sqrt(x*(10-x)^3)
simplifier(2*int(f(x),x,0,10))
evalf(2*int(f(x),x,0,10))

Nous comprendrons mieux ces commandes dans le chapitre A10 – Calcul Intégral.

N'hésitez-pas à poser une question, ou faire avancer le schmilblick

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l’aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.