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