L'interpolation est une opération mathématique permettant de reconstruire une courbe à partir d'un nombre fini de points sans connaitre son expression initiale. Elle permet d'approximer la fonction entre deux points initiaux avec une erreur plus ou moins grande. Ce rapport permet d'introduire les différentes méthodes d'interpolation numérique et de les appliquer sous MATLAB.
La qualité de l'interpolation dépend à la fois du type d'échantillonnage et du nombre de points de mesure. Plus ce nombre est grand, plus on gagne en précision. L'échantillonnage régulier est l'échantillonnage le plus naturel et le plus souvent utilisé dans les systèmes à échantillonneurs. La majorité des cartes d'acquisitions suivent ce schéma. On ne connaît alors que des valeurs prises à intervalle de temps régulier.
[...] La majorité des cartes d'acquisitions suivent ce schéma. On ne connaît alors que des valeurs prises à intervalle de temps régulier Echantillonnage de Tchebychev Cet échantillonnage permet de calculer les abscisses des points à mesurer, en prenant un plus grand nombre de points sur les extrémités de la fonction. En voici un exemple : Figure 2 : échantillonnage de Tchebychev Pour la programmation de l'échantillonnage de Tchebychev sous MATLAB on utilise l'équation proposée dans l'énoncé pour choisir les abscisses : %Échantillonnage Tchebychev for k=1:1:Nech Xkech(k)=(Xmax+Xmin)/2 + (Xmax-Xmin)/2*cos((2*k-1)*pi()/(2*(Nech))); end Nous verrons dans la partie résultats les effets des différents échantillonnages sur l'interpolation Polynôme d'interpolation Le calcul de la courbe d'interpolation se fait en deux étapes : - Calcul des coefficients du polynôme - Calcul de la courbe d'interpolation 1. [...]
[...] Par exemple, si l'échantillonnage se fait sur cinq points, le polynôme sera d'ordre cinq soit quatre. On peut noter que ce code est adapté à la méthode de calcul des ordinateurs : Il fonctionne par récurrence. C'est-à-dire qu'à chaque passage dans la boucle intérieure, les valeurs du tableau Ak sont remodifiées. Cela permet une construction progressive du polynôme de récurrence, ce qui est très intéressant pour la programmation. Enfin, on peut voir qu'il n'est pas toujours optimal de calculer un polynôme d'interpolation d'ordre maximal. [...]
[...] Cependant, il est nécessaire de bien choisir le nombre de points de mesure ainsi que le type d'échantillonnage afin d'obtenir un résultat correct et ainsi diminuer les erreurs Annexe : Code source 1. Echantillonnage Régulier clear all; %Declarations Xmin=-3*pi/2; Xmax=3*pi/2; Nech=10; %Degré du poly = Nech-1 Neval=401; Xkeval=LINSPACE(Xmin, Xmax, Neval); %Echantillonage régulier Xkech=LINSPACE(Xmin, Xmax, Nech); %Initialisations pour un sins %Yk=sin(Xkech); echantillonnés %Fk=sin(Xkeval); que l'on veut trouver par Interpol %Initialisations pour L'expo Yk=exp(-(Xkech.^2)); echantillonnés Fk=exp(-(Xkeval.^2)); que l'on veut trouver par Interpol Ak=Yk; %Pk=Ak(Nech)*Xkeval; trouvés par Interpol %Pk=Ak(Nech).*ones(Neval); %Calcul des Ak coeffs du polynome for s = 1:1:Nech-1 for k = Nech:-1:s+1 Ak(k)=(Ak(k-1)-Ak(k))/(Xkech(k-s)-Xkech(k)); end end %Calcul du Polynome Pk=Ak(Nech); for k=Nech+1:-1:2 %ATTENTION k=Nech dans le cours, Nech+1 pour que ca marche Pk=Pk.*(Xkeval-Xkech(k-1))+Ak(k-1); end %Legende de la figure figure(1) plot(Xkech,Yk,'o',Xkeval,Fk,'r',Xkeval,Pk,'g'); legend ('Points d échantillonnage','Polynome Fx','Polynome d interpolation title('Interpolation') xlabel ylabel %Calcul des erreurs Ex=abs(Pk-Fk); %Erreur absolue Erx=((abs(Pk-Fk))./Fk) %erreur relative %Poltage des Erreurs figure(2) plot(Xkeval,Ex,'r',Xkeval,Erx,'g') legend ('Erreur absolue','Erreur relative') title('Erreur') xlabel ylabel 2. [...]
[...] Une équation avec une exponentielle ne se prête pas à une interpolation polynomiale. Dans le cas où Nech=20 points, l'ordre du polynôme est de 19, ce qui induit de plus grandes variations entre les points de mesure, l'ordre 9 (pour Nech=10) est ici plus préjudiciable. Il aurait été intéressant de comparer les deux courbes avec un polynôme du même ordre mais il aurait fallu dans ce cas changer l'algorithme d'interpolation Variation du type d'échantillonnage On compare ici la Figure 9 (Echantillonnage régulier) avec un échantillonnage de Tchebychev : Figure 11: Echantillonnage Tchebychev Fonction exponentielle (Nech=10) On voit tout de suite que cette méthode a permis d'améliorer l'erreur autour des extrémités car l'échantillonnage y est plus fin. [...]
[...] Par la suite, on effectue un zoom nous permettant d'observer les autres variations Variation du nombre de points Afin de vérifier le rôle du nombre de points dans l'interpolation, nous avons réalisé deux résultats d'erreur avec 10 points et 20 points sur le signal exponentiel avec un échantillonnage régulier : Figure Echantillonnage régulier Fonction exponentielle (Nech=10) Figure 10: Echantillonnage régulier Fonction exponentielle (Nech=20) On remarque que l'erreur absolue n'a pas du tout diminué, bien au contraire. Alors qu'elle oscillait autour de 0.1 avec 10 points, elle grimpe à plus de 5 avec 20 points. [...]
Source aux normes APA
Pour votre bibliographieLecture en ligne
avec notre liseuse dédiée !Contenu vérifié
par notre comité de lecture