Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
mooc-rr
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
0a35d458c4dfeaae90cc26c29bebf511
mooc-rr
Commits
cbee0118
Commit
cbee0118
authored
Apr 09, 2020
by
0a35d458c4dfeaae90cc26c29bebf511
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Essai de calcul de Mi par méthode Monte-Carlo
parent
45b16112
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
320 additions
and
3 deletions
+320
-3
essai_montecarlo.ipynb
module2/exo1/essai_montecarlo.ipynb
+171
-0
toy_notebook_fr.ipynb
module2/exo1/toy_notebook_fr.ipynb
+149
-3
No files found.
module2/exo1/essai_montecarlo.ipynb
0 → 100644
View file @
cbee0118
This source diff could not be displayed because it is too large. You can
view the blob
instead.
module2/exo1/toy_notebook_fr.ipynb
View file @
cbee0118
{
"cells": [],
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Pi d'après Python :"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"3.141592653589793\n"
]
}
],
"source": [
"import math\n",
"x = math.pi\n",
"print(x)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Calcul de PI par méthode monte-Carlo"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"On commence par générer des paires de nombres aléatoires qui seront les positions visées"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"\n",
"def combinations(lista, listb):\n",
" combs = []\n",
" for i in range(0, len(lista)):\n",
" combs.append((lista[i], listb[i]))\n",
" return combs\n",
"\n",
"nb_points = 10000\n",
"x = np.random.random_sample(size=nb_points)\n",
"y = np.random.random_sample(size=nb_points)\n",
"xy = combinations(x, y)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"On vérifie visuellement que les données ont bien l'air aléatoires :"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"%matplotlib inline\n",
"import matplotlib.pyplot as plt\n",
"plt.plot(x, y, marker='o', linestyle='none')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Itérations de monte-carlo :"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"821 points sur 1000 sont dans le cercle\n"
]
}
],
"source": [
"nb_in_circle = 0\n",
"for point in xy:\n",
" if (point[0] ** 2 + point[1] ** 2) < 1.0:\n",
" nb_in_circle = nb_in_circle + 1\n",
"\n",
"print (str(nb_in_circle)+\" points sur \"+str(nb_points)+\" sont dans le cercle\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Affichage des résultats :"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"pi (monte carlo) = 3.284\n"
]
}
],
"source": [
"pi_montecarlo = float(nb_in_circle) / float(nb_points) * 4.0\n",
"print(\"pi (monte carlo) = \"+str(pi_montecarlo))"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
...
...
@@ -16,10 +163,9 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.
3
"
"version": "3.6.
4
"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment