next up previous contents
suivant: Résolution approchée des équations monter: Exercices d'analyse numérique précédent: Exercices d'analyse numérique   Table des matières

Interpolation

Exercice 16  
  1. Définir dans un M-file la fonction

    \begin{eqnarray*}
f(x)=\frac{1}{1+x^2}.
\end{eqnarray*}

    Définir un vecteur d'abscisses $xx_i$, avec $i=1,2,...100$ uniformément reparties entre $-5$ et $5$. Représenter graphiquement la fonction $f$ aux abscisses $xx$ par un trait continu vert.
  2. Définir un vecteur de points d'interpolation $x_i$ avec $i=1,2,...10$, tels que $x_1=-5<x_2<...<x_9<x_{10}=5$. Calculer dans un tableau $yy$ les valeurs aux abscisses $xx$ de la spline cubique passant par les points $x_i$ et interpolant la fonction $f$.
  3. Représenter sur le même graphique la fonction $f$ aux abscisses $xx$ en vert, la spline aux abscisses $xx$ en bleu et les points d'interpolation $(x, f(x)) $ par des croix rouges.

Exercice 17   Afin d'illustrer graphiquement l'interpolation polynomiale de Lagrange, le script 2 calcule le polynôme d'interpolation d'une fonction quelconque associé à $(n+1)$ points équirépartis sur un intervalle avec la méthode des différences divisées. La fonction à interpoler est représentée en vert, le polynôme d'interpolation en bleu, et les points d'interpolation sont matérialisés avec des ronds rouges.
Figure 3: Interpolation de Lagrange de la fonction $1/(1+x^2)$ avec 10 points.
\begin{figure}\centerline{
\epsfysize=8cm
\leavevmode\epsfbox{runge.eps}
}\end{figure}

Script 2   Interpolation polynomiale de Lagrange
 f=inline('sin(0.5*x)')
 xmin=-5;xmax=5;
 n=10;h=(xmax-xmin)/(n-1);
 %interpolation de f(x)=sin(x/2) sur [-5,5]

 xp=linspace(xmin,xmax,n);
 d=f(xp);
  %calcul des différences divisées
 for k=2:n
   for j=n:-1:k
     d(j)=(d(j)-d(j-1))/((k-1)*h);
   end
 end
 %estimation de Horner
 x=linspace(xmin,xmax,100);
 y=HHorner(d,xp,x);
 plot(x,y,'-b',x,f(x),'-g',xp,f(xp),'or')
 legend('polynome','fonction','points')
 title('Interpolation de Lagrange')
Avec un M-file contenant la fonction d'évaluation du polynôme pour la représentation graphique.
function [y]=HHorner(c,x,t)
n=length(x);
y=c(n)*ones(size(t));
for i=n-1:-1:1
  y= y.*(t-x(i)*ones(size(t)))+c(i)*ones(size(t));
end

  1. Vérifier le comportement de l'interpolation de Lagrange en choisissant comme fonction un polynôme.
  2. L'algorithme est ensuite appliqué à la fonction $f(x)={1\over {x^2+1}}$ sur l'intervalle $[-5,5]$. La représentation graphique conjointe de ce polynôme pour $n=13$ et de la fonction est reproduite sur la figure 3 où le phénomène de non convergence (phénomène de Runge) est manifeste.


next up previous contents
suivant: Résolution approchée des équations monter: Exercices d'analyse numérique précédent: Exercices d'analyse numérique   Table des matières
marie 2005-02-01