diff --git a/journal/fichier-markdown.md b/journal/fichier-markdown.md index 86c6bfb7a3dd836f36b53edd6475751f32314ef4..a41481ce8da3617edae8bb0620e0af00270ea9ba 100644 --- a/journal/fichier-markdown.md +++ b/journal/fichier-markdown.md @@ -5,18 +5,6 @@ Important notes - - - - - - - - - - - - ## QUIZ 01 1. Why has a European project recently used the logbooks of the Portuguese, Spanish, Dutch and English Indian Companies (Cf. Christophe Pouzat video : Note-taking concerns everyone) ? @@ -143,6 +131,16 @@ Liste numérotée ``` +## EXERCISES MODULE 1 + +## EXERCISE 01-1 + + + + +## EXERCISE 01-2 + + # __MODULE 2__ ## QUIZ 06 @@ -256,6 +254,69 @@ Learning keyboard shortcuts Reading the documentation and cheat sheets +## EXERCISES MODULE 2 + +## EXERCISE 2-1 + +1 On the computation of π +1.1 Asking the maths library +My computer tells me that π is approximatively +In [1]: from math import * +print(pi) +3.141592653589793 +1.2 Buffon’s needle +Applying the method of Buffon’s needle, we get the approximation +In [2]: import numpy as np +np.random.seed(seed=42) +N = 10000 +x = np.random.uniform(size=N, low=0, high=1) +theta = np.random.uniform(size=N, low=0, high=pi/2) +2/(sum((x+np.sin(theta))>1)/N) +Out[2]: 3.1289111389236548 +1.3 Using a surface fraction argument +A method that is easier to understand and does not make use of the sin function is based on the +fact that if X ∼ U(0, 1) and Y ∼ U(0, 1), then P[X +2 + Y +2 ≤ 1] = π/4 (see "Monte Carlo method" +on Wikipedia). The following code uses this approach: +In [3]: %matplotlib inline +import matplotlib.pyplot as plt +np.random.seed(seed=42) +N = 1000 +x = np.random.uniform(size=N, low=0, high=1) +y = np.random.uniform(size=N, low=0, high=1) + +accept = (x*x+y*y) <= 1 +reject = np.logical_not(accept) +fig, ax = plt.subplots(1) +ax.scatter(x[accept], y[accept], c='b', alpha=0.2, edgecolor=None) +ax.scatter(x[reject], y[reject], c='r', alpha=0.2, edgecolor=None) +ax.set_aspect('equal') + +It is then straightforward to obtain a (not really good) approximation to π by counting how +many times, on average, X +2 + Y +2 +is smaller than 1: +In [4]: 4*np.mean(accept) +Out[4]: 3.1120000000000001 + + + + + + + +## EXERCISE 2-2 + + + + + + + + + ## QUIZ 12 1. What distinguishes a replicable data analysis from a traditional analysis?