Vous êtes sur la page 1sur 2

INP Grenoble ENSIMAG, 1`re anne e e

Stage de Mathmatiques Appliques e e 2005/2006

TP 2 : Interpolation, matrices de Vandermonde 1 Interpolation polynomiale : matrices de Vandermonde

On cherche lunique polynme de degr n passant par les points (xi , yi ) pour i = 0 . . . n, en supposant o e les xi tous distincts. Le polynme dinterpolation peut donc scrire o e
n

pn (x) =
i=0

ai xi

(1)

tel que pour tout i, pn (xi ) = yi , soit en notation matricielle ` laide de la matrice de Vandermonde : a 1 x1 . . . xn a0 y0 0 0 1 x1 . . . xn a1 y1 1 1 (2) . . . . = . . . ... . . . . . . . . 1 x1 . . . xn an yn n n

Exemple dinterpolation
On cherche ` dterminer le polynme de degr 3 a e o e p3 (x) = a0 + a1 x + a2 x2 + a3 x3 (3)

passant par les points (2, 10), (1, 4), (1, 6) et (2, 3). Les ai peuvent tre dtermins par la rsolution du e e e e 1 2 4 8 1 1 1 1 1 1 1 1 1 2 4 8

syst`me linaire : e e a0 10 a1 4 = a2 6 a3 3

(4)

La solution de ce syst`me peut tre obtenue de la faon suivante : e e c y = [10;4;6;3]; V= [1,-2,4,-8;1,-1,1,-1;1,1,1,1;1,2,4,8]; a = V\y;

Rsolution du syst`me e e
La matrice de Vandermonde V peut tre dtermine ` partir du vecteur x de la faon suivante : e e e a c

n = length(x); V = zeros(n,n); for j=1:n for i=1:n V(i,j) = x(i)^(j-1); end end Question 1

1. Ecrivez une fonction vandermonde qui prend comme arguments deux vecteurs x et y et qui renvoie un vecteur a tel que pour tout i, j aj xj = yi . i 2. Modiez la fonction prcdente de faon a ne pas utiliser de boucle for. Comparez lecacit de e e c ` e cette fonction avec la fonction prcdente a laide de la commande tic ; fonction ; toc ;. e e `
e e 3. La ii`me colonne de la matrice de Vandermonde peut tre obtenue en fonction de la i 1i`me e colonne en multipliant chaque ligne j de cette colonne par xj . Proposez une fonction dinterpolation sappuyant sur cette mthode. Comparez lecacit de cette solution avec les versions prcdentes. e e e e

Evaluation du polynme dinterpolation o

Indpendamment de la dtermination des coecients du polynme dinterpolation, on consid`re dans e e o e cette section lvaluation dun polynme pn (x) = a0 + . . . + an xn pour x = z, en supposant z et les ai e o connus. Question 2 1. Proposez une fonction qui prend en arguments un rel z et un vecteur a et qui renvoie e 2. Modiez la fonction prcdente de faon a ne pas utiliser de boucle for. e e c ` 3. Proposez une amlioration des fonctions prcdentes utilisant la forme de Horner : e e e pn (x) = (. . . ((an x + an1 )x + an2 )x + . . .)x + a0 4. Comparez lecacit de ces fonctions dvaluation. e e 5. Gnralisez une des fonctions prcdentes en une fonction prenant comme arguments un vecteur z e e e e i et un vecteur a et qui retourne un vecteur v tel que pour tout j, vj = i ai zj . (5)
i

ai z i .

Achage

Question 3 Ecrire une fonction dachage qui prend comme arguments 3 entiers a,b,n et une fonction f, et qui ache sur lintervalle [a, b] la fonction f ainsi que le polynme dinterpolation de f obtenu a o ` partir de n nuds quirpartis sur lintervalle [a, b] (comprenant les extrmits de lintervalle). e e e e

Applications
On va approcher la fonction : f (x) = 1 , 1 + x2 5 x 5 (6)

par une interpolation avec nuds quirpartis. e e Question 4 1. Tracez f sur lintervalle [5, 5]. 2. Sur le mme graphe, tracez les polynmes dinterpolation p5 et p11 . e o 4. Que constatez-vous, que pouvez-vous en conclure ? On interpole sur [1, 1] la fonction f (x) = sin(2x) avec 17 nuds quirpartis. On gn`re ensuite e e e e des donnes perturbes f (xi ) des f (xi ) avec la condition : e e
i=0...16

max |f (xi ) f (xi )| 9.5 104

(7)

Question 5 Tracez et comparez les polynmes dinterpolation de f et de f . Que remarquez-vous ? o