suivant: Programmation Dynamique
monter: Quelques méthodes numériques en
précédent: Méthode de la Section
  Table des matières
Étant donné une fonction
et
points dans
. Lagrange à résolu le problème de déterminer le
polynome vérifiant :
On montre que ce polynome s'écrit sous la forme suivante :
avec :
|
(2) |
Nous allons ranger les éléments
dans une
matrice de la manière suivante :
- l'indice de ligne sera l'indice du dernier terme dans le crochet
auquel on rajoute c'est-à-dire
;
- l'indice de colonne correspond au nombre d'éléments entre le
crochet
c'est-à-dire .
Autrement dit
. En notant
(
), l'équation
(2) devient :
On procède alors à un changement de variable en posant et
il vient donc :
Pour des raisons d'efficacité nous avons programmé deux fonctions. La
première calcule la matrice , la seconde calcule le polynome en
utilisant .
function [y]=interpolation(x,d,points)
// Polynome d'interpolation de Lagrange d'une fonction f
n=size(points,'*')
y=d(1)
T=x-points(1);
for i=2:n
y=y+d(i)*T;
T=T*(x-points(i));
end
endfunction
function [d]=prepross(f,points)
n=size(points,'*')
A=zeros(n,n);
for k=1:n
A(k,1)=f(points(k));
end
d(1)=A(1,1);
for j=2:n
for i=j:n
A(i,j)=(A(i,j-1)-A(i-1,j-1))/(points(i)-points(i-j+1));
end
d(j)=A(j,j);
end
endfunction
L'exemple suivant montre le résultat en bleue de l'interpolation de la fonction
en rouge aux points
Figure:
Interpolation de Lagrange de la fonction
|
suivant: Programmation Dynamique
monter: Quelques méthodes numériques en
précédent: Méthode de la Section
  Table des matières
barty
2004-04-29