• Aucun résultat trouvé

Chapitre 5 : Interpolation

N/A
N/A
Protected

Academic year: 2022

Partager "Chapitre 5 : Interpolation"

Copied!
14
0
0

Texte intégral

(1)

Chapitre 5 : Interpolation

Maarten Jansen

Table de mati `eres

• Introduction au calcul num ´erique.

• Analyse des erreurs.

• R ´esolution des syst `emes lin ´eaires.

• R ´esolution num ´erique des ´equations diff ´erentielles ordinaires

Interpolation.

• Curve fitting.

• R ´esolution des ´equations non lin ´eaires.

M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 5: Interpolation p.1

Un exemple pratique

• Consid ´erons une fonctionf(·), connue en forme analytique mais difficile `a ´evaluer, diff ´erentier ou int ´egrer par ordinateur.

• Exemple :f(x) = sin

esign(x)

|x|/2

• Pour des raisons num ´eriques, il est envisageable de remplacer cette fonction avec une approximation qui soit la plus fid `ele possible mais avec une expression alg ´ebrique plus abordable.

• Nous ´evaluons la fonctions dans un petit nombre denoeudset nous interpolonsentre les valeurs obtenues.

• Une interpolation tr `es populaire est la polyligne, qui est une succession de segments (tronc¸ons lin ´eaires)

Polyn ˆomes interpolants d’ordre 1 `a 6

(2)

Polyn ˆomes interpolants d’ordre 7 `a 12

M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 5: Interpolation p.4

Un exemple pratique

Une ´etude d ´emographique collectionne des donn ´ees sur les prix des maisons en diff ´erents quartiers d’une ville en fonction des caract ´eristiques du quartier (taux de criminalit ´e, pollution, distance du centre ville, accessibilit ´e de transport en commun,...) (Boston house-price data (1978)).

PRICE CRIM ZN NOX DIS RAD

296.0 0.00632 18.00 0.5380 4.0900 1 242.0 0.02731 0.00 0.4690 4.9671 2 242.0 0.02729 0.00 0.4690 4.9671 2 222.0 0.03237 0.00 0.4580 6.0622 3

Probl `eme: ´etant donn ´e un vecteur [CRIM,ZN,NOX,DIS,RAD], pour un nouveau ´etablissement, comment calculer/estimer le prix ?

M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 5: Interpolation p.5

Interpolation et fitting

Soitf(·)une fonction dont on ne connaˆıt les valeurs qu’en certains points.

Deux cas :

d ´eterministe: les valeurs sont exactes. Le probl `eme de la pr ´ediction est abord ´e par les m ´ethodes d’interpolation.

stochastique: les valeurs sont entach ´ees d’erreur. Le probl `eme de la pr ´ediction est abord ´e par les m ´ethodes delissage(fitting) des donn ´ees.

Le probl `eme de l’interpolation

L’interpolation traite de l’approximation d’une fonction dont on ne connaˆıt les valeursexactesqu’en certains points.

Probl `eme: ´etant donn ´en+ 1couples(xi, yi), trouver une fonctionφ(·)telle queφ(xi) =yipouri= 0, . . . , n.

Quelques exemples d’interpolation :

Interpolation polynomiale :φ(·)est un polyn ˆome.

Approximation trigonom´etrique :φ(·)est un polyn ˆome trigonom ´etrique.

Interpolation polynomiale par morceaux :φ(·)est polynomiale par morceaux (splines).

(3)

Interpolation polynomiale

Consid ´eronsn+ 1couples(xi, yi). Le probl `eme est de trouver un polyn ˆome πn ∈Pnd’ordren

πn(x) =anxn+· · ·+a1x+a0 tel queπn(xi) =yi, pouri= 0, . . . , n

Th ´eor `eme[Existence et unicit ´e]

´etant donn ´esn+ 1points distinctsx0, . . . , xn etn+ 1valeurs corres- pondantesy0, . . . , yn, il existe un unique polyn ˆomeπntel que

πn(xi) =yi pouri= 0, . . . , n.

Comment trouver ce polyn ˆome ?

M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 5: Interpolation p.8

Comment calculer le polyn ˆome interpolant ?

• M ´ethode g ´en ´erale : Remplacer les coordonn ´ees des points dans l’expression du polyn ˆome et r ´esoudre le syst `eme lin ´eaire.

— Proc ´edure co ˆuteuseO(n3).

— Syst `emes mal conditionn ´es.

• M ´ethodes ad hoc : co ˆutO(n2)

— M ´ethode de Lagrange.

— M ´ethode de Newton.

— Il trouve lem ˆeme polyn ˆomeque la m ´ethode de Lagrange.

— Co ˆut de la mise `a jour moins ´elev ´e que pour Lagrange.

M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 5: Interpolation p.9

Polyn ˆome de Lagrange

Il a la forme πn(x) =

n

X

i=0

yili(x)

o `u les polyn ˆomes li(x) =

n

Y

j=0,j6=i

x−xj

xi−xj i= 0, . . . , n sont lespolyn ˆomes caract ´eristiques de Lagrange.

Propri ´et ´es :

• Ils sont de degr ´en.

• Ils d ´ependent seulement des abscissesxi.

• li(xi) = 1,i= 0, . . . , n

• li(xj) = 0,∀j6=i

Polyn ˆome de Lagrange : exemple

´etant donn ´es lesn+ 1 = 4couples

x x0 x1 x2 x3 y y0 y1 y2 y3

le polyn ˆome interpolant de Lagrange est π3(x) =

= (x−x1)(x−x2)(x−x3)

(x0−x1)(x0−x2)(x0−x3)y0+ (x−x0)(x−x2)(x−x3) (x1−x0)(x1−x2)(x1−x3)y1+ + (x−x0)(x−x1)(x−x3)

(x2−x0)(x2−x1)(x2−x3)y2+ (x−x0)(x−x1)(x−x2) (x3−x0)(x3−x1)(x3−x2)y3

(4)

Polyn ˆomes caract ´eristiques de Lagrange

Exemple :n= 6etX = [−3,−2,−1,0,1,2,3].

X = [−3,−2,−1,0,1,2,3] X = [−3,−2,−1.2,1.1,1.6,2.7,3]

Scripts pol lag.m

M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 5: Interpolation p.12

Interpolation de Lagrange Exemple :n= 6,X= [−3,−2,−1,0,1,2,3]etY =X3.

y(x) = x3 interp. points interpolation

Scripts lag.m

M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 5: Interpolation p.13

Polyn ˆomes nodals

Le polyn ˆome interpolant peut ˆetre ´ecrit sous la forme πn(x) =

n

X

i=0

ωn+1(x) (x−xin+1 (xi)yi

o `uωn+1(x)est lepolyn ˆome nodalde degr ´en+ 1d ´efini par ωn+1(x) =

n

Y

i=0

(x−xi) = (x−x0)(x−x1)· · ·(x−xn)

et, par cons ´equent, ωn+1(xi) =

n

Y

j=0,j6=i

(xi−xj)

Polyn ˆomes nodals

Par exemple, sin= 2

ω3(x) = (x−x0)(x−x1)(x−x2) et puisque

ω3(x) = (x−x1)(x−x2) + (x−x0)(x−x2) + (x−x0)(x−x1) ω3(x0) = (x0−x1)(x0−x2)

ω3(x1) = (x1−x0)(x1−x2) ω3(x2) = (x2−x0)(x2−x1)

(5)

Polyn ˆome nodal

Trac ´e d’un polyn ˆome nodalω7(x)pour les noeuds[−3,−2,−1,0,1,2,3].

-3 -2 -1 0 1 2 3

-100 -50 0 50 100

Voir le script Matlabs nodal.

M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 5: Interpolation p.16

Erreur d’interpolation

Th ´eor `eme

Soient {x0, x1, . . . , xn}, n + 1 noeuds distincts et soit x un point ap- partenant au domaine de d ´efinition de f(·). On suppose que f ∈ Cn+1(Ix) o `u Ix est le plus petit intervalle contenant les noeuds x0, x1, . . . , xn et x. L’erreur d’interpolation au point x est donn ´ee par

En(x) def= f(x)−πn(x) = f(n+1)(n+1)!(ξ)ωn+1(x)

= f(n+1)(n+1)!(ξ)(x−x0)(x−x1). . .(x−xn)

o `uξ∈Ixetωn+1(·)est le polyn ˆome nodal de degr ´en+ 1.

M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 5: Interpolation p.17

Erreur d’interpolation (II)

D ´efinitionLa norme de maximum d’une fonctionf ∈C0([a, b])est kfk= max

x∈[a,b]|f(x)| Soitkf(n+1)k= max

x∈[a,b]|f(n+1)(x)|, alors on peut montrer que

|f(x)−πn(x)| ≤ kf(n+1)!(n+1)kn+1(x)|

kf(n+1)!(n+1)kn+1k

kf(n+1)(n+1)!k(b−a)n+1

(La premi `ere borne d ´epend dex, la seconde d ´epend du polyn ˆome nodal, donc des positions des noeuds, la troisi `eme ne d ´epend que des noeuds extr `emesaetb)

Exercice TP

Consid ´erons la fonctionf(x) = sinxet supposons que la valeur de la fonction est connue pour les5noeuds[0.0,0.2,0.4,0.6,0.8].

• Calculer la borne sup ´erieure de la valeur absolue de l’erreur d’approximation du polyn ˆome interpolantπ4

|E4(x)|=|f(x)−π4(x)| enx= 0.28

• Comparer la borne avec l’erreur r ´eelle en sachant que sin(0.28) = 0.2763556.

(6)

Consid ´erations

• Le calcul de l’erreur d’interpolation demande la connaissance de la fonctionf(·).

• L’erreur est petite pr `es d’un noeud.

• L’erreur est autant plus petite que la fonction est lisse (smooth).

• On peut montrer que le maximum de|ωn+1(x)|en[x0, xn]est atteint toujours dans un des deux intervalles extr ˆemes[x0, x1]ou[xn−1, xn].

• L’erreur d’extrapolation est typiquement sup ´erieure `a celle d’interpolation.

• Par d ´efinition, sif(·)est un polyn ˆome de degr ´en, l’erreur est nulle.

M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 5: Interpolation p.20

Polyn ˆome nodal et extrapolation

Trac ´e d’un polyn ˆome nodalω7(x)pour les noeuds[−3,−2,−1,0,1,2,3].

-3 -2 -1 0 1 2 3

-300 -200 -100 0 100 200 300

La valeur absolue du polyn ˆome en dehors de l’intervalle d’interpolation[−3,3]

est beaucoup plus grande que la valeur `a l’int ´erieur de l’intervalle.

Voir le script Matlabs nodal.

M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 5: Interpolation p.21

Forme d’interpolation de Newton

Id ´ee: ´etant donn ´en+ 1paires(xi, yi), i= 0, . . . , n, repr ´esenterπn(·) (polyn ˆome interpolant pouri= 0, . . . , n) comme la somme deπn−1(·) (polyn ˆome interpolant pouri= 0, . . . , n−1) et d’un polyn ˆome de degr ´enqui d ´epend d’un seul coefficient inconnu : πn(x) =πn−1(x) +qn(x)

Puisqueqn(·)est un polyn ˆome d’ordrentel que qn(xi) =πn(xi)−πn−1(xi) = 0pouri= 0, . . . , n−1, on a qn(x) =an(x−x0). . .(x−xn−1) =anωn(x) o `uωn(x)est un polyn ˆome nodal et d’o `u on d ´eduit que

πn(xn) =πn−1(xn) +qn(xn)⇔f(xn) =πn−1(xn) +anωn(xn) an =f(xn)−πω n1(xn)

n(xn)

Diff ´erences divis ´ees de Newton

Le coefficientanest appel ´en-i `emediff ´erence divis ´ee de Newton an=f[x0, x1, . . . , xn] = f(xn)−πn−1(xn)

Qn−1

i=0(xn−xi)

Par cons ´equent on obtient la formulation r ´ecursive πn(x) =πn−1(x) +ωn(x)f[x0, x1, . . . , xn]

Puisqueωn+1(x) =Qn

i=0(x−xi), il s’ensuit que π0(x) = ω0(x)f[x0]

π1(x) = π0(x) +ω1(x)f[x0, x1] =π0(x) + (x−x0)f[x0, x1]

π2(x) = π1(x) +ω2(x)f[x0, x1, x2] =π1(x) + (x−x0)(x−x1)f[x0, x1, x2] . . .

(7)

Diff ´erences divis ´ees de Newton : formule explicite

Puisqueπ0(x) =f(x0), en posanty0=f(x0) =f[x0]etω0= 1on obtient par r ´ecurrence

πn(x) = Pn

k=0ωk(x)f[x0, . . . , xk]

= f[x0] + (x−x0)f[x0, x1] + (x−x0)(x−x1)f[x0, x1, x2] +. . . +(x−x0)(x−x1). . .(x−xn−1)f[x0, . . . , xn]

Le termef[x0, . . . , xn]est donc le coefficient dexn dansπn(x). A partir de l’expression du polyn ˆome interpolant de Lagrange nous obtenons que le termef[x0, . . . , xn]peut donc ˆetre ´ecrit de la mani `ere suivante

f[x0, . . . , xn] =

n

X

i=0

yi ωn+1(xi) =

n

X

i=0

yi Qn

j=0,j6=i(xi−xj)

M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 5: Interpolation p.24

Diff ´erences divis ´ees de Newton : formule r ´ecursive

On peut montrer que lak`eme diff ´erence divis ´ee de Newton a la forme suivante :

k= 0: f[x] =f(x)

k= 1: f[x0, x] = f[x]−f[x0]

x−x0 =f[x, x0] k≥2:

f[x0, x1, . . . , xk−1, x] = f[x1, . . . , xk−1, x]−f[x0, x1, . . . , xk−2, xk−1] x−x0

M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 5: Interpolation p.25

Forme tabulaire

xi f(xi) Df(xi) D2f(xi) . . . Dnf(xi)

x0 f[x0]

x1 f[x1] f[x0, x1]= f[xx1]f[x0]

1x0 x2 f[x2] f[x1, x2] =f[xx2]f[x1]

2x1 f[x0, x1, x2]= f[x1,xx2]f[x0,x1]

2x0 x3 f[x3] f[x2, x3] =f[xx3]f[x2]

3x2 f[x1, x2, x3] =f[x2,xx3]f[x1,x2]

3x1 ..

. .. .

.. .

.. .

xn f[xn] f[xn1, xn] f[xn2, xn1, xn] . . . f[x0, . . . , xn]

πn(x) = Pn

k=0ωk(x)f[x0, . . . , xk]

= f[x0]+ (x−x0)f[x0, x1]+ (x−x0)(x−x1)f[x0, x1, x2]+. . . +(x−x0)(x−x1). . .(x−xn−1)f[x0, . . . , xn]

Exercice TP Diff ´erences divis ´ees pour la fonctionf(x) = sin(x)

0 0 0 0 0 0

0.5 0.4794 0.9589 0 0 0

1 0.8415 0.7241 -0.2348 0 0

1.5 0.9975 0.3120 -0.4120 -0.1182 0 2 0.9093 -0.1764 -0.4884 -0.0509 0.0336

Polyn ˆome interpolant :

π4(x) = 0+0.9589x−0.2348x(x−0.5)−0.1182x(x−0.5)(x−1) +0.0336x(x−0.5)(x−1)(x−1.5)

(8)

Exercice TP

Donn ´ees et polyn ˆome interpolant.

Scripts pol new2.m

M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 5: Interpolation p.28

Propri ´et ´es

• Pourn+ 1points il est n ´ecessaire de calculer une matrice triangulaire inf ´erieure de taillenlaquelle an(n+ 1)/2´el ´ements diff ´erents de z ´ero.

• n(n+ 1)additions etn(n+ 1)/2divisions sont n ´ecessaires pour construire la matrice triangulaire inf ´erieure des diff ´erences divis ´ees.

• Si on disposait de la valeur prise parf(·)dans un nouveau noeud xn+1, on aurait `a calculer simplement une ligne suppl ´ementaire compos ´ee parn+ 1´el ´ements.

• Pour construireπn+1(·) `a partir deπn(·),(n+ 1)divisions et2(n+ 1) additions sont n ´ecessaires, donc un co ˆutO(n).Ceci n’est pas le cas pour la m ´ethode de Lagrange o `u il est n ´ecessaire de r ´ep ´eter toute la proc ´edure avec un co ˆutO(n2).

Voir la fonction Matlabdividf.mdans le livre Quarteroni et le script s pol new.

M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 5: Interpolation p.29

Convergence uniforme

• L’ ´etude de convergence uniforme analyse le comportement de la norme du maximum de l’erreur quandntend vers l’infini.

Propri ´et ´eSoientx0, x1, . . . , xn,n+ 1noeuds d’interpolation distincts dans[a, b]etπn l’interpolation polynomiale. Quandn→ ∞il est toujourspossible de trouver une fonctionf pour laquelle

n→∞lim kf−πnk6= 0o `u kgk= maxx∈[a,b]|g(x)|.

• L’interpolation polynomiale ne permet pas d’approcher

convenablement toute fonction continue. Ceci est le cas pour des fonctions dont les points singuliers sont trop proches `a l’intervalle[a, b].

• Notons que ceci n’est pas en contradiction avec le th ´eor `eme de Weierstrassselon lequel pour toute fonction continuef ∈C([a, b])il existe toujours une s ´erie de polyn ˆomespntelle que

n→∞lim kf−pnk= 0.Malheureusement ces polyn ˆomes ne peuvent pas ˆetre obtenus par interpolation.

Contre-exemple de Runge

Supposons qu’on approche la fonction f(x) = 1

1 +x2

en utilisant l’interpolation de Lagrange avecnoeuds ´equir ´epartis. Puisque les d ´eriv ´ees de la fonction ne sont pas born ´ees on peut v ´erifier qu’il existe des pointsx`a l’int ´erieur de l’intervalle d’interpolation tels que

n→∞lim |f(x)−πn(x)| 6= 0 c.- `a-d. l’approximation se d ´egrade en ajoutant donn ´ees.

(9)

Exemple Matlab

-3 -2 -1 0 1 2 3

-0.4 -0.2 0 0.2 0.4 0.6 0.8 1

Les polyn ˆomes d’interpolation pr ´esentent des oscillations qui augmentent avec le degr ´e du polyn ˆome.

Voir le script Matlabs runge.m.

M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 5: Interpolation p.32

Conditionnement du probl `eme

• Le conditionnement du probl `eme d’interpolation peut ˆetre d ´ecrit en fonction des polyn ˆomes caract ´eristiques par la constante de Lebesgue associ ´ee aux noeuds d’interpolation

Λn=k

n

X

i=0

|li(x)|k

• Supposons de perturber les donn ´ees de la mani `ere suivante ˆ

yi =yii et soitπˆnle polyn ˆome perturb ´e r ´esultant. Il est possible montrer que kπn−πˆnk

nk ≤Λnkδk

kfk

• En particulier pour des noeuds ´equir ´epartis on peut montrer que Λn≈ 2n+1

enlogn

M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 5: Interpolation p.33

Instabilit ´e de l’interpolation

Une petite variation des donn ´ees, pour noeuds ´equir ´epartis, cause une large variation de l’approximation.

-3 -2 -1 0 1 2 3

-2 -1.5 -1 -0.5 0 0.5 1 1.5

2 Splines

• Le fonction de Runge et les probl `emes d’instabilit ´e mettent en lumi `ere le fait que l’interpolation polynomiale n’est pas bien adapt ´ee `a

l’approximation de fonctions pour grandn.

• L’avantage des spline est qu’en augmentantnon augment le nombre de morceaux et non le degr ´e des polyn ˆomes.

• Dans le domaine du design, en construction automobile par exemple, les splines sont utilis ´ees pour approcher des contours complexes.

Leur simplicit ´e d’impl ´ementation les rend tr `es populaires et elles sont fr ´equemment utilis ´ees dans les logiciels de dessin.

(10)

M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 5: Interpolation p.36

Splines

D ´efinitionSoient{x0, . . . , xn},n+ 1noeuds distincts de[a, b]avec a=x0< x1<· · ·< xn =b

La fonctionsk(x)sur l’intervalle[a, b]est unesplinede degr ´ekrelative aux noeudsxisi sk,i=sk|[xi,xi+1] ∈ Pk, pour i= 0,1, . . . , n

sk ∈ Ck−1[a, b]

Tout polyn ˆome de degr ´eksur[a, b]est une spline, mais... en pratique, on consid `ere

• splines constitu ´ees denpolyn ˆomes diff ´erentssk,i sur chaque sous-intervalle[xi, xi+1]o `u

• il peut y avoir desdiscontinuit ´es de la d ´eriv ´eek-i `eme aux noeuds internes (actives).

M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 5: Interpolation p.37

Interpolation par splines :n= 2

2

x0 x1

y

y0

1

x2 y

Spline : ordrek= 0

s

x0 x1

y

y0

1

x2 y2

s0,1 0,0

(11)

Spline : ordrek= 1

1,1

x0 x1

y

y0

1

x2 y2

s s

1,0

M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 5: Interpolation p.40

Spline : ordrek= 2

2,1

x0 x1

y

y0

1

x2 y2

s

s

2,0

M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 5: Interpolation p.41

Spline : ordrek= 3

s

x0 x1

y

y0

1

x2 y2

3,0 3,1

s

Calcul d’une spline

Lei-i `eme,i= 0, . . . , n−1polyn ˆomesk,i=sk|[xi,xi+1] composant la spline est d’ordreket peut ˆetre ´ecrit sous la forme

sk,i=

k

X

h=0

shi(x−xi)h

Calculer une spline ´equivaut `a d ´eterminer(k+ 1)ncoefficientsshi. Conditions :

• k(n−1)pour les d ´eriv ´ees:

s(m)k,i−1(xi) =s(m)k,i (xi) pouri= 1, . . . , n−1etm= 0, . . . , k−1

• n+ 1interpolations:sk(xi) =f(xi)pouri= 0, . . . , n.

(12)

Conditions additionnelles Encorek−1degr ´es de libert ´e `a fixer. Deux options :

1. splines p ´eriodiques

s(m)k (a) =s(m)k (b) m= 1, . . . , k−1

2. splines naturellesPourk= 2l−1, avecl≥2on a2(l−1) =k−1 conditions additionelles s(l+j)k (a) = 0

s(l+j)k (b) = 0 j= 0,1, . . . , l−2 Exemple : Sik= 3, alorsl= 2

s(2)k (a) =s(2)k (b) = 0

M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 5: Interpolation p.44

Splines cubiques

Les splines d’interpolations cubiques (degr ´ek= 3) sont importantes car 1. Ce sont les splines de plus petit degr ´e qui permettent une

approximationC2(donc la d ´eriv ´ee premi `ere est continue d’ordre1), 2. elles ont de bonnes propri ´et ´es de r ´egularit ´e.

M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 5: Interpolation p.45

Calcul d’une spline cubique (I)

Il faut d ´eterminer(k+ 1)n= 4ncoefficients pour d ´eterminers3(·).

Conditions :

• s3(xi ) =f(xi) =s3(x+i ) pouri= 1, . . . , n−1 [2(n−1)]

• s3(x0) =f(a) [1]

• s3(xn) =f(b) [1]

• s3(xi ) =s3(x+i ) pouri= 1, . . . , n−1 [(n−1)]

• s′′3(xi ) =s′′3(x+i ) pouri= 1, . . . , n−1 [(n−1)]

En totale,4n−2conditions. Lesk−1 = 2restantes sont impos ´ees via les conditions additionnelles.

Le calcul d’une spline demande donc la r ´esolution d’un syst `eme lin ´eaire de de 4n ´equations. Nous verrons dans la suite que il est toutefois possible formuler le probl `eme de mani `ere telle `a r ´eduire la taille du syst `eme `a l’ordren+ 1.

Calcul d’une spline cubique (II)

Introduisons les notations suivantes :

fi=s3(xi), mi =s3(xi), Mi=s′′3(xi), i= 0, . . . , n

Puisques3,i−1(·)∈P3,s′′3,i−1(·)est lin ´eaire ets′′3,i−1(xi−1) =Mi−1, s′′3,i−1(xi) =Mi

s′′3,i−1(x) =Mi−1xi−x

hi +Mix−xi−1

hi pourx∈[xi−1, xi],i= 1, . . . , no `uhi =xi−xi−1. En int ´egrant

s3,i−1(x) = −Mi−1(xi2h−x)2

i +Mi(x−x2hi1)2

i +Ci−1

s3,i−1(x) = Mi−1(xi6h−x)3

i +Mi(x−x6hi1)3

i +Ci−1(x−xi−1) + ˜Ci−1

(13)

Calcul d’une spline cubique (III)

En imposant les valeurs aux extr ´emit ´ess3,i−1(xi−1) =fi−1ets3,i−1(xi) =fi, on a

fi−1=s3,i−1(xi−1) =Mi−1h3i

6hi + ˜Ci−1⇔C˜i−1 = fi−1−Mi−1h2i 6

fi=s3,i−1(xi) =Mi6hh3i

i +Ci−1hi+ ˜Ci−1⇔Ci−1 = fi−fhi1

ih6i(Mi−Mi−1) Notons que les conditions d’interpolation nous permettent le calcul des constantsCietC˜ipouri= 1, . . . , n.

M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 5: Interpolation p.48

Calcul d’une spline cubique (IV) Puisque

s3,i−1(x) = −Mi−1(xi2h−x)2

i +Mi(x−x2hi1)2

i +fi−fhi1

ih6i(Mi−Mi−1) s3,i(x) = −Mi(xi+12h−x)2

i+1 +Mi+1(x−x2h i)2

i+1 +fi+1h −fi

i+1hi+16 (Mi+1−Mi) en imposant la continuit ´e de la d ´eriv ´ee premi `ere enxi

s3,i−1(xi) = s3(xi ) = h6iMi−1+h3iMi+fi−fhii1

= −hi+13 Mihi+16 Mi+1+fi+1h −fi

i+1 =s3(x+i ) =s3,i(xi) pouri= 1,· · ·, n−1.

M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 5: Interpolation p.49

Calcul d’une spline cubique (V)

• Ceci conduit au syst `eme lin ´eaire tridiagonal (dit deM-continuit ´e) avec n+ 1inconnues etn−1 ´equations

hi

6Mi−1+hi+hi+1

3 Mi+hi+1

6 Mi+1= fi+1−fi

hi+1 −fi−fi−1 hi

pour i= 1, . . . , n−1.

• Pour obtenir une splinenaturelleon rajoute les2conditions suppl ´ementaires

M0=s(2)3 (x0) = 0 Mn=s(2)3 (xn) = 0

Exercice TP

Spline cubique (k= 3) naturelle pour la fonctionf(x) = sin(x). Donn ´ees (n= 4) :

0 0.5 1 1.5 2

0 0.4794 0.8415 0.9975 0.9093

Puisquehi= 0.5pouri= 1,2,3et hi

6 = 0.0833, hi+hi+1

3 = 0.3333, i= 1,2,3 et





2∗(f2−f1)−2∗(f1−f0) =−0.2348 2∗(f3−f2)−2∗(f2−f1) =−0.4120 2∗(f4−f3)−2∗(f3−f2) =−0.4884

(14)

nous obtenons le syst `eme de M-continuit ´e :

1.0000 0 0 0 0

0.0833 0.3333 0.0833 0 0 0 0.0833 0.3333 0.0833 0 0 0 0.0833 0.3333 0.0833

0 0 0 0 1.0000

 M0

M1 M2 M3

M4

=

 0

−0.2348

−0.4120

−0.4884 0

En resolvant le syst `eme nous obtenonsMi, i= 0, . . . ,4et donc nous pouvons calculerCi−1etC˜i−1pouri= 1, . . . ,4. Ceci nous permet d’ ´ecrire les

´equations des4morceaux de spline.

M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 5: Interpolation p.52

Exercice TP Scripts spline2.m

M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 5: Interpolation p.53

Spline et fonction de Runge

nombre de noeuds = 8 nombre de noeuds = 60

-30 -2 -1 0 1 2 3

0.2 0.4 0.6 0.8 1

y=1/(1+x2) points spline

-30 -2 -1 0 1 2 3

0.2 0.4 0.6 0.8 1

y=1/(1+x2) points spline

Scripts ru spl.m, fonction[s,A,b]=spcub(X,Y,x)

Limitations

Les splines d’interpolation pr ´esentent deux inconv ´enients :

• La spline peut-elle aussi d ´evenir oscillante si les d ´eriv ´ees de la fonction `a interpoler deviennent trop grandes (>>1).

• la spline d ´epend du choix du syst `eme de coordonn ´ees, donc elle ne poss `ede pas une propri ´et ´e d’invariance g ´eom ´etrique.

• Ceci peut ˆetre g ˆenant si la spline est utilis ´ee pour repr ´esenter graphiquement une courbe qui n’est pas un graphique d’une fonction (par exemple une ellipse). Une solution vient du fait de repr ´esenter la spline de mani `ere param ´etrique (coordonn ´eesxetyfonction d’un param `etret).

Références

Documents relatifs

Sur le document r´ eponse donn´ e en annexe 2, ` a rendre avec la copie, tracer, sans justifier, la section du cube par le plan (IJK) o` u K est un point du segment [BF].. Sur

(e) On peut ´etudier des points remarquables ´eventuels (intersection avec les axes, points ` a tangente parall`ele aux axes, points d’inflexion.. On joint ensuite ceux-ci en

Expression de la projection orthogonale d’un vecteur sur une droite ou un plan de l’espace euclidien R 3 ; calcul de la matrice d’une telle projection orthogonale, ou d’une

Les relations entre a, b et c, ainsi que les ´equations des directrices et l’expression de l’excentricit´e, doivent ˆetre parfaitement connues.. Les propri´et´es des

IApplications : d´etermination du centre de gravit´e d’une plaque homog`ene, d’un solide homog`ene ; calcul du moment d’inertie d’un solide homog`ene par rapport ` a un

Sous des conditions de m´ elange assez g´ en´ erales, on ´ etablit la convergence presque compl` ete (avec vitesse) d’un estimateur ` a noyau pour la fonction de hasard d’une

[r]

[r]