Interpolation et splines
Transcription
Interpolation et splines
2015-2016, Licence 3ème année parcours Mathématiques M66, Modélisation et analyse numérique TD1 : Interpolation et splines Interpolation Exercice 1 (Différences divisées) Soient x0 , x1 , . . . , xn des points distincts d’un intervalle I, et f ,g et h des applications réelles définies sur cette intervalle. On note par f [x0 , x1 , . . . , xn ] la différence divisée de f en x0 , x1 , . . . , xn . a) (1) Démontrer l’identité f [x0 , x1 , . . . , xn ] = n X f (xj ) j=0 n Y 1 . k=0 xj − xk k6=j (2) En déduire que la différence divisée f [x0 , x1 , . . . , xn ] est une fonction symétrique, c’est-à-dire, que pour toute permutation σ de l’ensemble {0, . . . , n} dans lui même, f [xσ(0) , xσ(1) , . . . , xσ(n) ] = f [x0 , x1 , . . . , xn ] b) Si f = αg + βh pour certains α, β ∈ R, alors f [x0 , . . . , xn ] = αg[x0 , . . . , xn ] + βh[x0 , . . . , xn ] . c) Si f = gh, alors on a la formule suivante (appelée formule de Leibniz) : f [x0 , . . . , xn ] = n X g[x0 , . . . , xj ]h[xj , . . . , xn ] . j=0 Exercice 2 (Interpolation quadratique) a) Soit I un intervalle et f ∈ C 3 (I). Soit h > 0, on note p2 (x) le polynôme de degré ≤ 2 qui interpole la fonction f aux points xi = x0 + ih ∈ I pour i = 0, 1, 2. Montrer que h3 ∀x ∈ [x0 , x2 ] |f (x) − p2 (x)| ≤ √ M, 9 3 où M est une constante ne dépendant que de la restriction de f à I. b) On veut construire une table de valeurs de la fonction f (x) = √ x + 1 dans l’intervalle [0, 1] pour des points équidistants xi+1 = xi + h. Quelle valeur doit prendre h pour garantir 7 chiffres décimaux corrects en faisant une interpolation quadratique ? Exercice 3 (Interpolation d’Hermite) On se donne n + 1 abscisses distinctes x0 , x1 , . . . , xn . On considère les polynômes Ui (x) et Vi (x) , 0 ≤ i ≤ n, de degré 2n + 1 qui vérifient les conditions suivantes : Ui (xk ) = δik ; Ui0 (xk ) = 0 Vi (xk ) = 0 ; Vi0 (xk ) = δik i, k = 0, . . . , n i, k = 0, . . . , n (1) a) Quelles conditions d’interpolation vérifie le polynôme H(x) = n X Ui (x)yi + i=0 n X Vi (x)yi0 ? i=0 b) En sachant que les polynômes de la base de Lagrange associée aux nœuds xi vérifient Li (xk ) = δik , montrer que Ui (x) := [1 − 2L0i (xi )(x − xi )] (Li (x))2 Vi (x) := (x − xi )(Li (x))2 vérifient les conditions (1). c) On considère le cas particulier de n = 1, l’intervalle I = [0, 1] et soient x0 = 0 et x1 = 1. Soit f (x) une fonction dans C 4 (I) et telle que f (xi ) = yi , f 0 (xi ) = yi0 , i = 0, 1. On définit la fonction S(x), pour x ∈ ˚ I, par la relation f (x) = H(x) + x2 (x − 1)2 S(x). (1) Soit x fixé dans ˚ I. On introduit la fonction F définie par F (t) = f (t) − H(t) − t2 (t − 1)2 S(x) (i) Montrer que F (t) s’annule en (au moins) 3 points distincts que l’on explicitera. (ii) Montrer qu’il existe 2 réels distincts t11 et t12 tels que F 0 (t11 ) = F 0 (t12 ) = 0. (2) Calculer F 0 (t), F 0 (0), F 0 (1). En déduire qu’il existe (au moins) 4 réels distincts t2i , i = 1, 2, 3, 4 tels que F 0 (t2i ) = 0, ∀ i = 1, · · · , 4. (3) En déduire alors qu’il existe un réel ξx ∈ ˚ I tel que f (4) (ξx ) . 4! S(x) = (4) Donner alors une majoration de l’erreur d’interpolation |f (x) − H(x)|. d) Application : Une déviation entre deux voies de chemin de fer parallèles doit être une fonction f ∈ C 4 ([0, 4]) qui unit les positions (0, 0) et (4, 2) et est tangent dans ces points, aux droites y = 0 et y = 2 respectivement. Déterminer le polynôme H de degré ≤ 3 qui satisfait les mêmes conditions. Utiliser la question précédente pour majorer l’erreur |f (x) − H(x)| dans l’intervalle [1, 2]. Méthode des moindres carrés Exercice 4 (Droite de régression) Considérons les données {(xi , yi ) | i = 0, . . . , n} où yi peut être vue comme la valeur f (xi ) prise par une fonction f au nœud xi . Soit Φ(b0 , b1 ) = n h X i2 yi − (b0 + b1 xi ) . i=0 a) Déterminer b0 et b1 qui minimise Φ. La droite ainsi déterminée x 7→ b0 + b1 x, est dite droite des moindres carrés, ou de régression linéaire. Elle est la solution de degré 1 du problème des moindres carrées pour les données {(xi , yi )}. b) Exprimer les coefficients b0 et b1 en fonction des moyennes M = N= C= Pn 1 i=0 yi , de la variance V (n+1) P n 1 i=0 (xi − M )(yi − N ). (n+1) 1 (n+1) = Pn i=0 (xi 1 (n+1) Pn i=0 xi et 2 − M ) et de la covariance c) Vérifier que la droite de régression linéaire passe par le point dont l’abscisse est la moyenne des {xi } et l’ordonnée est la moyenne des {yi }. Exercice 5 (Le cas général) Étant donnée {(xi , yi ) | i = 0, . . . , n}, une solution du problème des moindres carrées de degré m est la donnée d’un polynôme P ∈ Pm [R] qui minimise la quantité : n h X i2 yi − P (xi ) . i=0 a) Montrer que pour m = n il y a une solution unique et déterminer la. b) Que peut on dire de l’ensemble des solutions dans le cas m > n ? c) On munit Pm [R] de la base canonique 1, X, . . . , X m . Soit (a0 , . . . , an ) les coordonnées de P dans cette base et P = (a0 , . . . , an ) ∈ Rn ça représentation dans Rn . Soit la matrice h Vm = xki i i=0,...,n k=0,...,m et le vecteur Y = (y0 , . . . , yn ). En considérant P et Y comme des vecteurs colonnes, montrer que n h X i2 yi − P (xi ) 2 = Vm P − Y . 2 i=0 d) Montrer que pour m ≤ n la solution du problème des moindres carrées existe et est unique. e) Justifié que Vn est inversible, puis montrer que les coefficients du polynôme de Lagrange sont les coefficients du vecteur Vn−1 Y . f) Redémontrer la question b) en utilisant la question c). Splines Exercice 6 (Base de splines) Soient a = x0 < x1 < · · · < xn = b des points de l’intervalle [a, b] et Sk [a, b] l’ensemble des splines de degré k relativement à ces (n + 1) points. Vérifier que tout sk ∈ Sk [a, b] admet une écriture de la forme sk (x) = k X i bi x + i=0 où (t)+ = t+|t| 2 et (t)k+ n−1 X ci (x − xi )k+ , i=1 k = [(t)+ ] . Puis conclure que {1, x, x2 , . . . , xk , (x − x1 )k+ , . . . , (x − xn−1 )k+ } est une base de Sk [a, b]. ————————————Exercice 7 (Splines normalisées) Soit a = x0 < x2 < · · · < xn = b les n + 1 nœuds des splines cubiques S3 (Y ) qui interpolent les valeurs Y = (y0 , y1 , . . . , yn ). a) Montrer qu’il existe une unique spline s ∈ S3 (Y ), dit naturelle, telle que s00 (a) = s00 (b) = 0. b) Étant donnés deux nombre da et db , montrer qu’il existe une unique spline s ∈ S3 (Y ), dit serrée ou tendue, telle que s0 (a) = da et s0 (b) = db . c) Si y0 = yn , montrer qu’il existe une unique spline s ∈ S3 (Y ), dit cyclique ou périodique, telle que s(k) (a) = s(k) (b) pour k = 0, 1, 2. Exercice 8 (Splines cubiques à peu de nœuds) Soit a = x0 < x2 < · · · < xn = b les n + 1 nœuds des splines cubiques S3 . Soit s ∈ S3 qui satisfait les conditions aux bords s(k) (a) = s(k) (b) = 0 pour k = 0, 1, 2. a) Montrer que si n < 4 alors s = 0. b) Montrer que si n = 4 alors s est uniquement déterminée par sa valeur en x2 . c) Calculer explicitement s dans le cas des nœuds {−2, −1, 0, 1, 2} en fonction de sa valeur c en 0. Exercice 9 (Base cardinale des splines cubiques) Soit a = x0 < x2 < · · · < xn = b les n + 1 nœuds des splines cubiques S3 . Pour i = 0, . . . , n on note par ϕi la spline tendues telle que ϕi (xj ) = δij et ϕ0i (x0 ) = ϕ0i (xn ) = 0. Ainsi que les deux splines tendues ϕk pour k ∈ {n + 1, n + 2} définies par ϕk (xi ) = 0 pour ∀i = 0, . . . , n, ϕ0n+1 (x0 ) = 1, ϕ0n+1 (xn ) = 0, ϕ0n+2 (x0 ) = 0 et ϕ0n+2 (xn ) = 1. a) Montrer que les {ϕk }k=0,...,n+2 forment une base de S3 . Cette base est appeler base cardinale. b) Soit xi = i pour i = 0, 1, 2. Calculer la base cardinale dans ce cas. Exercice 10 (B-splines) Soit a = x0 < x2 < · · · < xn = b les n + 1 nœuds des splines Sk de degré k. Soit les fonctions Bi,j définies par récurrence comme suit Bi,0 (x) = Bi,k (x) = 1 si x ∈ [xi , xi+1 [ 0 sinon x−xi B (x) xi+k −xi i,k−1 + pour i = 0, . . . , n − 1 xi+k+1 −x B (x) xi+k+1 −xi+1 i+1,k−1 pour ∀ k ≥ 1, i ≥ 0 i+k+1≤n a) Calculer et tracer les Bi,1 pour i = 0, . . . , n − 2. b) Montrer que la restriction des Bi,1 à I1 = [x1 , xn−1 ] est une base de 1-splines respectivement aux nœuds {x1 , . . . , xn−1 }. c) Soit xi = i pour i = 0, . . . , n. Calculer et tracer les Bi,2 pour i = 0, . . . , n − 3. d) Montrer que le support de Bi,k est contenu dans [xi , xi+k+1 ]. e) Montrer que Bi,k (x) = (xi+k+1 − xi ) k+1 X j=0 (xi+j − x)k+ m=k+1 Y (xi+j − xi+m ) m=0 m6=j f) En déduire que les Bi,k sont des splines de degré k linéairement indépendant. On appelle les Bi,k les B-splines de degré k. g) Soit Ik = [xk , xn−k ] et Sk [Ik ] les splines de degré k sur Ik ayant pour nœuds {xk , . . . , xn−k }. Montrer {Bi,k |Ik | i = −k + 1, . . . , n − 1} forme une base de Sk [Ik ]. h) Comment peut on construire une base de Sk avec des B-splines ? Examen du 11 mars 2015 Exercice 11 (Question de cours) Pour toute fonction f : [a, b] → R, on se donne la subdivision uniforme ∆ = {x0 , x1 , . . . , xn } de l’intervalle [a, b] et les valeurs F = {f (x0 ), f (x1 ), . . . , f (xn )} à interpoler. a) Donner la définition d’une spline de degré k, k ≥ 1, et donner une base de l’espace vectoriel Sk [a, b] des splines de degré k relativement à la subdivision ∆. Expliquer pourquoi il s’agit d’une base et préciser le support de ces fonctions de base. b) Etant données f 0 (x0 ) et f 0 (xn ), déterminer la spline cubique s ∈ Sk [a, b] qui vérifie s(x0 ) = f 0 (x0 ) et s(xn ) = f 0 (xn ) (il suffit de donner le système linéaire à résoudre et de préciser pourquoi la solution est unique). Exercice 12 (B-splines uniformes) On pose pour tout i ∈ Z, xi = i. Les fonctions B-splines Bi,k de degré k sont définies par récurrence comme suit Bi,0 (x) = Bi,k (x) = ωi,k (x)Bi,k−1 (x) + (1 − ωi+1,k (x))Bi+1,k−1 (x) ∀ k ≥ 1, ∀ i ∈ Z, avec ωi,k (x) = 1 si x ∈ [xi , xi+1 [ 0 sinon x−xi xi+k −xi ∀ i ∈ Z, pour k ≥ 1. a) Montrer que pour tout i ∈ Z, k ≥ 0 et x ∈ R, on a la relation de symétrie suivante : Bi,k (x + 1) = Bi−1,k (x). b) Déduire que B0,k (x) = xk B0,k−1 (x) + k+1−x B0,k−1 (x k − 1). c) Ces propriétés permettent de calculer les B-splines uniformes par translation de la Bspline B0,k . Calculer B0,k (x) pour k ≤ 3 puis dessiner Bi,k (x) pour i = 0, 1, 2 et k ≤ 3. d) Vérifier que B0,k (k + 1 − x) = B0,k (x) pour k ≤ 3. e) Montrer que pour tout i ∈ Z, k ≥ 1 et x ∈ R, on a la relation de symétrie suivante : B0,k (k + 1 − x) = B0,k (x). Exercice 13 (Polynômes de Bernstein et courbe de Bézier) On pose x0 = · · · = xk = 0 et xk+1 = . . . x2k+1 = 1. Les polynômes de Bernstein d’ordre k sont les polynômes Bi,k (x) = Cki i k−i x (1 − x) pour i = 0, . . . , k, avec Cki k = i ! et x ∈ [0, 1]. a) Montrer que (1 − x)B0,k−1 (x) = B0,k (x), (1 − x)Bi,k−1 (x) + xBi−1,k−1 (x) = Bi,k (x), xBk−1,k−1 (x) = Bk,k (x). b) Montrer que Pk i=0 Bi,k (x) = 1. c) Montrer que pour i = 0, . . . , k, Bi,k n’a qu’un seul maximum sur [0, 1]. d) Montrer que x = Pk i i=0 k Bi,k (x). 2 e) Soit M : [0, 1] → R la courbe paramétrée de Bézier associée aux points de contrôle Ai , i = 0, . . . , k qu’on peut écrire M (x) = 0 est M (x) = k Pk−1 i=0 Bi,k−1 (x)(Ai+1 − Ai ). Pk i=0 Bi,k (x)Ai . Montrer que la courbe dérivée