Licence de Mathématiques Fondamentales Calcul Scientifique feuille de TD 3 Intégration numérique Soit f : [a, b] → R une fonction continue. On cherche à calculer numériquement l’intégrale f (x) dx. Pour cela, on subdivise [a, b] en plusieurs sous-intervalles (a = x0 < x1 < . . . < xn = b) a et on utilise le fait que Rb Z b f (x) dx = a n−1 X Z xi+1 i=0 f (x) dx. xi On est donc ramené au calcul de l’intégrale sur un petit intervalle [xi , xi+1 ]., ce que l’on fait à l’aide d’une formule de quadrature élémentaire. Exemples : 1. Formules à un point : – rectangle à gauche : Z xi+1 f (x) dx ≈ (xi+1 − xi )f (xi ). xi – rectangle à droite : Z xi+1 xi f (x) dx ≈ (xi+1 − xi )f (xi+1 ). – point milieu : Z xi+1 f (x) dx ≈ (xi+1 − xi )f ( xi xi+1 + xi ). 2 2. Formule du trapèze (deux points) : Z xi+1 f (xi+1 ) + f (xi ) . f (x) dx ≈ (xi+1 − xi ) 2 xi 3. Formule de Simpson (trois points) : Z xi+1 xi f (x) dx ≈ (xi+1 − xi ) i+1 f (xi ) + 4f ( xi +x ) + f (xi+1 ) 2 . 6 Exercice - 1 Formule du point milieu 1- Vérifier que pour des points équidistants xi = a + i(b − a)/n, i = 0, 1, . . . , n la formule du point milieu s’écrit Z a b f (x) dx ≈ n−1 (b − a) X xi + xi+1 f( ). n 2 i=0 feuille de TD 3 Licence 2002-2003 Calcul Scientifique Rb 2- Programmer une fonction Matlab int = IntP ointM ilieu(a, b, n) calculant a f (x) dx par la formule précédente. Cette fonction fera appel à une fonction Matlab y = f (x) contenant la fonction à intégrer. R3 √ 3- Tester avec 0 x sin( x) dx (faire le calcul analytique pour comparer !). 4- Faire un programme Matlab pour tracer l’erreur de la méthode en fonction de n (en échelle logarithmique). On utilisera le cas-test ci-dessus. Exercice - 2 Formule de Simpson Rb 1- Rappeler l’approximation de a f (x) dx par la formule de Simpson pour des points équidistants xi = a + i(b − a)/n. Rb 2- Programmer une fonction Matlab int = IntSimpson(a, b, n) calculant a f (x) dx par la R3 √ formule précédente. Tester avec 0 x sin( x) dx. 3- Modifier le programme de l’exercice précédent pour tracer sur un même graphique l’erreur par la méthode de Simpson et par la méthode du point milieu (en fonction de n). Interpréter. Exercice - 3 Ordre d’une formule de quadrature et formules de Newton-Cotes On veut obtenir d’autres formules de quadrature élémentaires. Pour cela, on pose d’abord g(t) = f (xi + t(xi+1 − xi )), de sorte que le calcul sur l’intervalle [xi , xi+1 ] est ramené à un calcul sur [0, 1] par l’égalité Z 1 Z xi+1 g(t) dt. f (x) dx = (xi+1 − xi ) 0 xi Une formule de quadrature élémentaire est donnée par : Z 1 s X λj g(tj ). g(t) dt ≈ 0 (1) j=1 On dit que les tj sont les noeuds de la formule de quadrature (1) et les λj en sont les poids. Définition : La formule de quadrature (1) est dite d’ordre (au moins) m si elle est exacte pour les polynômes de degré inférieur ou égal à m (la formule est d’ordre exactement m si de plus elle est fausse pour les polynômes de degré m + 1). 1- Montrer que les deux formules du rectangle sont d’ordre 0, que la formule du point milieu et du trapèze sont d’ordre 1. 2- Montrer que la formule (1) est d’ordre m si et seulement si s X j=1 λj tlj = 1 l+1 pour l = 0, 1, . . . , m. 3- On fixe m + 1 noeuds 0 ≤ t0 < t1 < . . . < tm ≤ 1. Montrer qu il existe un unique choix des poids λ0 , λ1 , . . . , λm pour lesquels la formule de quadrature (1) est d’ordre m. Quel est le rapport entre ce choix des poids et le polynôme d’interpolation de g aux points tj ? Pour des noeuds équidistants tj = j/n on obtient les formules de Newton-Cotes : s 2 3 4 5 ordre poids λj nom 1 1/2 1/2 trapèze 3 1/6 4/6 1/6 Simpson 3 1/8 3/8 3/8 1/8 Newton 5 7/90 32/90 12/90 32/90 7/90 Boole 4- Montrer que la formule de Simpson est d’ordre 3. 5- Montrer qu’une formule symétrique (c’est-à-dire ts+1−j = 1 − tj , λs+1−j = λj pour tout j) a toujours un ordre impair. On pourra utiliser qu’un polynôme de degré 2m + 1 peut être écrit sous la forme g(t) = C(t − 1/2)2m+1 + g1 (t), où g1 (t) est de degré ≤ 2m. feuille de TD 3 Licence 2002-2003 Calcul Scientifique Exercice - 4 Estimation de l’erreur 1- En supposant g : [0, 1] → R de classe C 2 , écrire la formule de Taylor avec reste intégral au point 1/2 à l’ordre 1. En déduire l’estimation d’erreur suivante pour la formule du point milieu : 1 Z | 0 1 g(t) dt − g( )| 2 ≤ 1 sup |g ′′ (t)|. 24 t∈[0,1] Pour une formule de quadrature générale Z 1 g(t) dt ≈ 0 s X λj g(tj ), (2) j=1 on définit l’erreur E(g) 1 Z := g(t) dt − 0 s X λj g(tj ). j=1 On rappelle que si la méthode est d’ordre m > 0 et g est de classe C 2 sur [0, 1] alors 1 m! E(g) = Z 1 km (t)g (m+1) (t) dt, 0 où km (t) := E(u → (u − t)m + ) (t ∈ [0, 1]) est le noyau de Péano d’ordre m associé à la formule de quadrature (2). 2- Montrer que si la formule est symétrique, le noyau est symétrique (c’est-à-dire km (1−t) = km (t)). m m Indication : (u − t)m pour m impair. + − (t − u)+ = (u − t) 3- Déterminer le noyau de Péano pour la formule du point milieu, du trapèze et de Simpson.(Résultat : k3 (t) = −(1/12)t3 (2 − 3t) pour t ∈ [0, 1/2].) R1 4- Calculer la constante de l’erreur Cm := 1/m! 0 |km (t)|dt pour la formule du point milieu, du trapèze et de Simpson. (Résultat : 1/24, 1/12 et 1/2880.) Soit maintenant f : [a, b] → R. Pour une subdivision (a = x0 < x1 < . . . < xn = b), le calcul de Rb f (x) dx par la formule (2) appliquée sur chaque intervalle [xi , xi+1 ] s’écrit : a Z b f (x) dx a ≈ n−1 X i=0 (xi+1 − xi ) s X j=1 λj f (xi + tj (xi+1 − xi )), et l’erreur de cette formule composée est : En (f ) := Z a b f (x) dx − n−1 X i=0 (xi+1 − xi ) s X j=1 λj f (xi + tj (xi+1 − xi )). 5- On prend des points équidistants xi = a + ih, i = 0, 1, . . . , n (h = (b − a)/n). Montrer que si la formule (2) est d’ordre m et si f ∈ C 2 ([a, b]), on obtient : |En (f )| ≤ Cm hm+1 (b − a) sup |f (m+1) (x)|. x∈[a,b] Exercice - 5 Tchebychev théorique Rappel : Les méthodes de Gauss (1777-1855) utilisent une subdivision particulière où les points xj sont les racines d’une famille de polynômes orthogonaux, qui ne sont pas régulièrement espacés contrairement aux méthodes composées (Newton-Cotes). L’intégration est alors exacte pour tout polynôme de degré ≤ 2n + 1 (au lieu de n ou n + 1 dans les méthodes composées). feuille de TD 3 Licence 2002-2003 Calcul Scientifique La méthode de Gauss appliquée à une fonction conduit à une approximation de la forme : Z v f (x)ω(x)dx = u n X ωi f (xi ) + εn f (2n+2) (c) i=0 avec ωi = Z v li (x)ω(x)dx u et où εn dépend des polynômes orthogonaux choisis. 1- Montrer que les polynômes de √ Tchebychev forment une base orthogonale sur [−1, 1] pour la fonction de pondération ω(x) = 1/ 1 − x2 . 2- Le but de la question est de montrer la formule de Gauss-Tchebychev : Z 1 n 1 (2i + 1)π π X f cos f (x) √ dx ≃ n + 1 i=0 2(n + 1) 1 − x2 −1 (on admettra que εn = 2π 22n+2 (2n + 2)! a- Pour n ∈ N et α ∈]0, π[ on pose : ). In (α) = Z π 0 cos nθ − cos nα dθ cos θ − cos α Montrer que : ∀n ∈ N In+2 (α) + In (α) = 2 cos αIn+1 (α). nα En déduire que : ∀n ∈ N In α = π sin sin α . b- Notons s0 , s1 , . . . , sn les (n + 1) racines du polynôme de Tchebychev Tn+1 , et posons pour Tn+1 (t) 0 ≤ k ≤ n : Qk (t) = . t − sk Montrer que pour tout k compris entre 0 et n : Z 1 sin(n + 1)θk π Q (t) √ k dt = π = Qk (sk ) sin θk n+1 1 − t2 −1 où θk = Arccos sk . c- Soit (lk ) la suite des polynômes élémentaires de Lagrange, et soit π(t) = n Y k=0 que : lk (t) = (t − sk ). Montrer π(t) Qk (t) = ′ (t − sk )π ′ (sk ) Tn+1 (sk ) d- Conclure. 3- Noter que, si y est une fonction continue sur [−1, 1] on a la formule d’intégration suivante : Z 1 −1 y(t)dt ≃ n q π X y(sk ) 1 − s2k n+1 k=0 √ et cette formule est exacte si y(t) 1 − t2 ∈ R2n+1 [t]. 4- ∗ (question subsidiaire) Montrer que pour p ≤ n : 2p n X (2p)!(n + 1) (2k + 1)π = cos 2(n + 1) (2p p!)2 k=0 Exercice - 6 Tchebychev pratique Tester la méthode d’intégration de Gauss-Tchebychev en calculant de la méthode en fonction de n. R3 0 x sin √ xdx, et tracer l’erreur feuille de TD 3 Calcul Scientifique Licence 2002-2003 Exercice - 7 Une méthode adaptative Le but est de trouver, pour une erreur relative ǫ une division △ = {a = x0 < x1 < ... < xn = b} de l’intervalle [a, b] telle que l’approximation numérique I△ de l’intégrale de f (x) entre a et b vérifie Z b Z b f (x) dx ≤ ǫ. |f (x)| dx. I△ − a a Pour la suite du problème on pose Z p+h err([p, p + h], f, s) = gauss([p, p + h], f, s) − f (x) dx . p On applique donc l’algorithme suivant pour s et ǫ donnés 1. Si err([a, b], f, s) ≤ ǫ gauss([a, b], |f |, s), on arrête l’algorithme, sinon on passe à l’étape 2. 2. [a, b] est subdivisé en deux intervalles I1 et I2 d’égales longueurs. On pose n=2, alors si l’inégalité n n X X err(Ij , f, s) ≤ ǫ gauss(Ij , |f |, s) . (3) j=1 j=1 est vérifiée, on arrête l’algorithme. Sinon on passe à l’étape 3. 3. On pose n=n+1 et l’on divise en deux parties égales l’intervalle pour lequel la fonction |err(Ik , f, s)| est maximale. On nomme ces deux parties Ik et In+1 . Alors, on recommence cette étape tant que l’inégalité (3) n’est pas vérifiée. Finalement, on accepte n X j=1 gauss(Ij , |f |, s) ≈ Z b f (x) dx, a comme approximation de l’intégrale de f (x) entre a et b. 1 – programmer les fonctions gauss et err, 2 – programmer l’algorithme de la méthode adaptative, 3 – appliquer cette méthode à l’intégration de la fonction f (x) = x. sin (cos(x)) sur l’intervalle [0, 2] pour différentes valeurs de ǫ et de s.