Corrigé_CS_TestA December 19, 2021 1 Exercice 1 (8 points): L’objectif de cet e
Corrigé_CS_TestA December 19, 2021 1 Exercice 1 (8 points): L’objectif de cet exercice est d’implementer une fonction sous Pyton qui estime la valeur de e en utilisant la suite: Sn = n ∑ i=0 1 i! 1.1 Q1 (3 points): Ecrire une fonction factoriel(n) prenant en entrée un entier naturel n, et retourne n! sachant: n! = 1, n = 0 n ∏ i=1 i, n ̸= 0, [1]: def factoriel(n): if n == 0: return 1 else: p = 1 for i in range(1,n+1): p*= i return p 1.2 Q2 (3 points): Ecrire une fonction expo(n) prenant en entrée un entier naturel n, et retourne une estimation de e. [2]: def expo(n): s = 0 for k in range(n+1): s+= 1/factoriel(k) return s 1 1.3 Q3 (2 points): En utilisant la fonction expo(n) donner une estimation de e pour n = 0, n = 10, n = 100 et n = 1000 avec 7 chiffres aprés la virgule [3]: # n = 0 expo(0) [3]: 1.0 [4]: # n = 10 expo(10) [4]: 2.7182818011463845 [5]: # n = 100 expo(100) [5]: 2.7182818284590455 2 Exercice 2 (12 points): L’objectif de cet exercice est de faire l’implementation de la méthode composite des rectangles à gauche donnée par: I(f) ≈Ic Rg(f) = h n−1 ∑ k=0 f(xk). Avec I(f) = ∫b a f(x) dx et xk = a + kh, 0 ≤k ≤n les points d’intégrations issus de la subdivision de [a, b] en n sous intervalles avec un pas fixe h = b −a n . 2.1 Q1 (4 points): Ecrire une fonction gauchecomposite(f, a, b, n) prenant en entrée f, une fonction continue sur [a, b] et n le nombre de sous intervalles à considérer et retourne la valeur approchée Ic Rg(f). [6]: def gauchecomposite(f,a,b,n): h = (b-a)/n s = 0 for k in range(n): s+= f(a+k*h) return h*s 2.2 Q2 (2 points): Pour n = 10 et n = 20 donner une estimation de ∫1 0 x2e−xdx en utilisant la méthode composite des rectangles à gauche, avec 7 chiffres après la virgule. 2 [7]: import numpy as np [8]: # n = 5 gauchecomposite(lambda x: x**2*np.exp(-x), 0,1,5) [8]: 0.1250286327035386 [9]: # n = 15 gauchecomposite(lambda x: x**2*np.exp(-x), 0,1,15) [9]: 0.1484762432785845 2.3 Q3 (3 points) En utilisant la bibliothèque sympy, calculer la primitive de la fonction f(x) = x2e−x, x ∈R et la valeur exacte de l’intégrale ∫1 0 x2e−xdx. [10]: import sympy as sp x = sp.symbols('x') [11]: # la primitive sp.integrate(x**2*sp.exp(-x), x) [11]: ( −x2 −2x −2 ) e−x [12]: # la valeur exacte sp.integrate(x**2*sp.exp(-x), (x,0,1)) [12]: 2 −5 e 2.4 Q4 (3 points): Calculer l’erreur d’integration de la méthode composite du rectangle à gauche pour n = 10 et n = 20 avec 7 chiffres aprés la virgule. [13]: # n = 5 E5 = abs(gauchecomposite(lambda x: x**2*np.exp(-x), 0,1,5)-sp.integrate(x**2*sp. , →exp(-x), (x,0,1)).evalf()) E5 [13]: 0.0355741614392498 [14]: # n = 15 E15 = abs(gauchecomposite(lambda x: x**2*np.exp(-x), 0,1,15)-sp. , →integrate(x**2*sp.exp(-x), (x,0,1)).evalf()) E15 [14]: 0.0121265508642039 3 uploads/Management/ corrige-cs-testa.pdf
Documents similaires
-
22
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Aoû 22, 2021
- Catégorie Management
- Langue French
- Taille du fichier 0.0524MB