Exo 1 Draft

parent 17ab2923
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[1] 13\n"
]
}
],
"source": [
"xa = 12\n",
"b = xa + 1\n",
"print(b)"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[1] 12\n",
"[1] 13\n"
]
}
],
"source": [
"print(xa)\n",
"print(b)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "R",
"language": "R",
"name": "ir"
},
"language_info": {
"codemirror_mode": "r",
"file_extension": ".r",
"mimetype": "text/x-r-source",
"name": "R",
"pygments_lexer": "r",
"version": "3.4.1"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
{ {
"cells": [], "cells": [
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"toy_notebook_fr"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"March 28, 2019"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"#A propos du calcul de pi"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"hideCode": false
},
"outputs": [],
"source": [
"## En demandant à la lib maths"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"Mon ordi m'indique que pi vaut approximativement"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"In [1]: from math import *\n",
" print(pi)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"##En utilisant la méthode des aiguilles de Buffon"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"Mais calculé avec la méthode des aiguilles de Buffon, on obtiendrait comme approximation:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"In [2]:import numpy as np\n",
" np.random.seed(seed=42)\n",
" N = 10000\n",
" x = np.random.uniform(size=N, low=0, high=1)\n",
" theta = np.random.uniform(size=N, low=0, high=pi/2)\n",
" 2/(sum((x+np.sin(theta))>1)/N)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"## Avec un argument \"fréquentiel\" de surface"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"Sinon, une méthode plus simple à comprendre et ne faisant pas intervenir d'apel à la fonction sinus se base sur le fait que si X ~ U(0,1) et Y ~ U(0,1) alors P[X² + Y² < 1] = pi/4 (voir méthode de Monte-Carlo sur Wikipedia). Le code suivant illustre ce fait :"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"ename": "IndentationError",
"evalue": "unexpected indent (<ipython-input-1-c47c06b12806>, line 2)",
"output_type": "error",
"traceback": [
"\u001b[0;36m File \u001b[0;32m\"<ipython-input-1-c47c06b12806>\"\u001b[0;36m, line \u001b[0;32m2\u001b[0m\n\u001b[0;31m import matplotlib.pyplot as plt\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mIndentationError\u001b[0m\u001b[0;31m:\u001b[0m unexpected indent\n"
]
}
],
"source": [
"In [3]: %matplotlib inline\n",
" import matplotlib.pyplot as plt\n",
" \n",
" np.random.seed(seed=42)\n",
" N = 1000\n",
" x = np.random.uniform(size=N, low=0, high=1)\n",
" y = np.random.uniform(size=N, low=0, high=1)\n",
" \n",
" accept=(x*x+y*y)<=1\n",
" reject=np.logical_not(accept)\n",
" fig, ax=plt.subplots(1)\n",
" ax.scatter(x[accept], y[accept], c='b', alpha=0.2, edgecolor=None)\n",
" ax.scatter(x[reject], y[reject], c='r', alpha=0.2, edgecolor=None)\n",
" ax.set_aspect('equal')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"Il est alors aisé d'obtenir une approximation (pas terrible) de pi en comptant combien de fois, en moyenne, X² + Y² est inférieur à 1:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"In [4] : 4*np.mean(accept)"
]
}
],
"metadata": { "metadata": {
"kernelspec": { "kernelspec": {
"display_name": "Python 3", "display_name": "Python 3",
...@@ -16,10 +175,9 @@ ...@@ -16,10 +175,9 @@
"name": "python", "name": "python",
"nbconvert_exporter": "python", "nbconvert_exporter": "python",
"pygments_lexer": "ipython3", "pygments_lexer": "ipython3",
"version": "3.6.3" "version": "3.6.4"
} }
}, },
"nbformat": 4, "nbformat": 4,
"nbformat_minor": 2 "nbformat_minor": 2
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment