Académique Documents
Professionnel Documents
Culture Documents
Objectifs :
Approche et utilité des méthodes d’interpolation et des méthodes numériques de résolution d’un système
d’équations linéaires
Position du problème :
Afin d’aborder l’utilisation des méthodes d’interpolation dans le domaine scientifique, nous proposons de les
employer dans un cas concret d’application plasma. Très schématiquement, un plasma est un gaz ionisé
(contenant des électrons et des ions), fortement réactif, entretenu par le passage d’un courant électrique. Les
applications plasmas sont utilisées en micro-électronique, en médecine, dans l’industrie automobile et spa-
tiale, etc.
Afin d’avoir des paramètres optimaux de fonctionnement, il est nécessaire de bien connaître les caractéris-
tiques du plasma créé. Un moyen simple est d’introduire dans le gaz ionisé une sonde électrostatique de
faible dimension (quelques mm2). Cette sonde est alors portée à un potentiel flottant. Suivant sa valeur par
rapport à celui du plasma, la sonde va attirer des électrons (et repousser des ions) ou attirer des ions (et re-
pousser des électrons). Du fait que des particules chargées arrivent sur la sonde, un courant électrique est
collecté par cette dernière et l’on peut obtenir expérimentalement la caractéristique courant - tension de la
sonde. En théorie, l’analyse de cette caractéristique permet de déterminer de nombreux paramètres du plas-
ma. Ainsi, le point d’inflexion de la courbe (l’endroit ou la dérivée passe par un maximum) permet d’obtenir
le “potentiel du plasma” à l’endroit de la sonde. La connaissance de cette dérivée permet aussi, en utilisant
des modèles plus ou moins complexes pour décrire le plasma, d’obtenir la température et la densité des élec-
trons proches de la sonde.
Nous avons représenté sur la figure suivante un exemple de mesure par une sonde électrostatique dans un ré-
acteur plasma. Bien évidement les points expérimentaux sont entachés de bruit inhérent à toute mesure. Pour
obtenir une courbe plus “propre”, on peut interpoler la courbe expérimentale par une fonction passant au
plus près de ses points ou par certains des points astucieusement choisis que l'on appelle “pivots”. À partir de
la fonction trouvée, il suffit de calculer la dérivée pour obtenir les paramètres du plasma.
Rappels
A Méthode de Lagrange
L’interpolation par la méthode de Lagrange consiste à trouver l’expression d’un polynôme passant par un
nombre fini de points expérimentaux choisis astucieusement et que l'on nomme “pivots”. Si l’on choisi N+1
pivots, le polynôme sera de degré N. Ainsi sur la figure ci-après, nous avons choisi 8 pivots et le polynôme
d'interpolation obtenu est de degré 7.
La méthode de Lagrange permet de calculer le polynôme d'interpolation pasant par les pivots {Xi, Yi} en un
point !. L'expression de Lagrange du polynôme est :
n
PN (α) = ∑ Li (α)Yi
i=0
n
α − Xj
Les Li (α) sont des polynômes pouvant s’exprimer par : Li (α) = ∏ où les Xi /X j sont les pivots choisis.
j=0 Xi − X j
j�=i
• D’une part, elle est liée aux choix des points d’interpolation et, bien entendu, au degré du polynôme. D’un
point de vue numérique (temps de calcul, variation des polynômes) il est déconseillé de prendre un poly-
nôme de degré trop important. Sur un polynôme de degré n, on aura donc seulement le choix sur n+1
points au maximum. Il faut de plus qu’entre ces n+1 points, les autres points expérimentaux ne varient pas
trop rapidement car ils ne rentrent pas en compte dans le calcul des coefficients.
• D’autre part, on peut remarquer qu’elle ne permet pas simplement le calcul des coefficients du polynôme
d’interpolation. On ne pourra donc pas obtenir, avec cette méthode, les dérivées successives du polynôme
d’interpolation et trouver les points d’inflexion de la courbe.
Le principe de l'ajustement polynomial diffère complètement de l'interpolation. Lorsque l'on ajuste des don-
nées -on dit souvent “fiter des données”- on cherche l'expression du polynôme de degré R choisi arbitraire-
ment -en fait la physique guide le choix du polynôme- passant au plus près des données expérimentales. Ain-
si si l'on sait que la loi guidant le phénomène étudié est de degré 2 on choisira d'ajuster par un polynôme de
degré 2. La figure ci-après compare l'ajustement et l'interpolation d'un ensemble de données. Malgré le choix
judicieux des pivots on constate que l'ajustement décrit bien mieux la courbe.
Pour déterminer l'expression du polynôme d'ajustement il faut résoudre le système matriciel construit sur le
modèle suivant (pour un polynôme de degré 3)
∑ xi0 ∑ xi1 ∑ xi2 ∑ xi3 a0 ∑ yi
∑ xi1 ∑ xi2 ∑ xi3 ∑ xi4 a1 ∑ xi ∗ yi
∑ xi2 ∑ xi3
∑ xi4
∑ xi5 a2 = ∑ xi2 ∗ yi
∑ xi3
∑ xi4
∑ xi5
∑ xi6 a3 ∑ xi3 ∗ yi
Inconvénients : Le polynôme ne passe pas par tous les points – temps de calcul assez long.
C Résolution de systèmes linéaires
La méthode de Gauss-Jordan est une méthode directe de résolution de système linéaire du type AX=B où A
est une matrice carrée, B un vecteur colonne. Elles sont souvent appelées méthodes du pivot. Le principe de
ces méthodes est de transformer A en matrice diagonale ou identité.
Les méthodes sont en deux étapes. Pour fixer les idées, nous allons les appliquer à un système 3x3.
0
a0 a01 a02 x0 b0
a10 a11 a12 x1 = b1
a20 a21 a22 x2 b2
pour plus de commodité on réécrit ce système sous la forme d'une seule matrice :
0
a0 a01 a02 b0
a10 a11 a12 b1
a20 a21 a22 b2
La méthode donne un rôle particulier aux éléments de la diagonale principale, que l'on appelle les pivots. Il y
a pour le système ci-dessus trois pivots :
a00 ; a11 ; a22
La méthode consiste à répéter autant de fois que de lignes dans la matrice les opérations suivantes, pivot par
pivot :
2. élimination dans la colonne du pivot : on annule chacun de termes de la colonne du pivot en faisant des
combinaisons de ligne avec celle du pivot.Le système est alors :
1/ division
a01 a02
1 a00 a00
b0
a00
1
a0 a11 a12 b1
a20 a21 a22 b2
Afin d'exploiter le polynôme d'ajustement, il faut être capable calculer la valeur prise par ce polynôme en
différents points, et dans le cas présent, il faut aussi être capable de calculer la valeur de la dérivée de ce
polynôme.
Le “schéma de Horner” permet ces calculs. Le schéma de Horner peut se résumer avec le tableau suivant :
..
ak bk = ak + αbk−1 ck = bk + αck−1 dk = ck + αdk−1 .
.. .. .. .. ..
. . . . .
Pn�� (α)
an−2 bn−2 = an−2 + αbn−3 cn−2 = bn−2 + αcn−3 dn−2 = cn−2 + αdn−3 = 2!
Pn� (α)
an−1 bn−1 = an−1 + αbn−2 cn−1 = bn−1 + αcn−2 = 1!
an bn = an + αbn−1 = Pn (α)
Pour calculer la valeur du polynôme il suffit d'appliquer une fois le schéma de Horner, le coefficient bn est la
valeur du polynôme en !. Si l'on veut de plus la valeur de la dérivée, il suffit d'appliquer le même schéma
aux coefficients bi, et ce jusqu'à calculer le coefficient cn-1, etc.
Avantages : Permet le calcul du polynôme en un point mais aussi de ses dérivées successives, rapide,
économie du nombre d’opérations par rapport à un calcul de polynôme classique.
Inconvénients : Aucun
Travail à effectuer
A Considérations générales
Pour l’interpolation des points expérimentaux de la sonde nous proposons d’utiliser un polynôme d’ordre 8.
Il nous faudra donc neufs points judicieusement choisis. Les points choisis sont présentés sur la figure ci des-
sous et sont les suivants :
1 : Point n°0 (-39.24 ;-0.14 ),
2 : Point n°26 (-22.63 ;-0.16 ),
3 : Point n°49 ( -7.28 ;-0.095 ),
4 : Point n°73 ( 8.65 ;-0.11 ),
5 : Point n°83 ( 15.21 ; 0.035 ),
6 : Point n°93 ( 21.35 ; 1.14 ),
7 : Point n°103 ( 27.06 ; 2.41 ),
8 : Point n°114 ( 33.49 ; 3.61 ),
9 : Point n°127 ( 38.78 ; 4.467 ).
★ De stocker les neufs valeurs dans l9x et l9y des vecteurs de type point.
★ De calculer les valeurs du polynôme d’interpolation passant par les neufs points prédéfinis ci-dessus.
Pour stocker les neufs valeurs, on définira dans un premier temps un vecteur nommé Nlag9 de 9 entiers ini-
tialisé aux valeurs 0, 26, 49 etc. :
int Nlag9[9]={0 , 26 , 49 , 73 , 83 , 93 , 103 , 114 , 127} ;
Initialiser ensuite les vecteurs l9x et l9y en utilisant une boucle for et le vecteur Nlag9 défini ci - dessus (si x
est le vecteur ou sont stockés les tensions expérimentales : l9x[i]=x[Nlag9[i]]…)
★ Pour chacun des points de tension donnés par la sonde calculer les valeurs du polynôme et les stocker
dans une variable de type points. Utilisez alors la fonction ecrire3 pour sortir dans un fichier la ten-
sion, les valeurs expérimentales de l’intensité et les valeurs interpolées.
★ Analyser les courbes. Les neuf valeurs qui semblaient bien réparties sur la courbe vous semblent elles
appropriées ?
★ On peut penser qu’une solution pour remédier aux oscillations entre le point 0 et le point 73 est
d’augmenter le degré du polynôme et donc le nombre de points d’interpolation. Choisir quatre points
supplémentaires entre le point 0 et 73 (par ex 10, 20, 30, 60). Créez alors de nouveaux vecteurs
Nlag14, l14x et l14y. Retracez l’interpolation.
★ Est il judicieux de chercher une interpolation passant par des points sur toutes les parties de la
courbe ?
★ Séparez l’interpolation sur trois intervalles [0 ;73],[73 ;93] ;[93 ;127] et sur chacun de ces inter-
valles faites une interpolation par un polynôme d’ordre 3 (4 points) passant par les extrémités de
chaque intervalle. Conclusion ?
Calcul polynomial
★ Pour le calcul de Horner, créer une fonction Horn ayant le prototype suivant :
float Horn ( vect P , float X , int n , vect Q ) ;
/* On transmet à cette fonction le vecteur P de coefficients du polynôme P,
* le point X où l’on veut calculer le polynôme, le degré n de ce polynôme.
* La fonction doit nous retourner en résultat la valeur du polynôme en x et
* le vecteur Q contenant les coefficients de Horner (Pour une utilisation
* ultérieure comme le calcul de dérivée).
*/
★ Ecrivez et testez la fonction Horn.
À l’aide de cette fonction vous calculerez toutes les dérivées successives du polynôme d’ordre 3 :
P3 (x) = x3 + 3x2 + 2x + 1
En x = 2. Vous devez obtenir les valeurs suivantes :
P(2) : 25 P’(2) : 26
P”(2) : 18 P”’(2) : 6
Solution de systèmes linéaires
★ Vous écrirez une fonction qui utilisera la méthode de Gaus-Jordan pour résoudre un système quel-
conque, pour ce faire, créez une fonction gausj ayant le prototype suivant :
void gausj ( mat T , int dim , vect sol);
/* Cette fonction permet la résolution du système [M][a]=[b]. La solution
* du système est renvoyée par la fonction dans le vect sol. On transmet à la
* fonction la variable T de type Mat et de dimensions [n ;n+1]. T n’est pas
* carrée car on a choisi de mettre le vecteur [b] (à droite du système) dans
* la dernière colonne de T. Les n premières colonnes de T contiennent
* les coefficients de la matrice M. dim correspond à la dimension de la
* matrice carrée du système.
*/
Testez la fonction sur le système suivant :
3 2 1 a1 0
0 1 0 a2 = -1
0 0 2 a3 1
Moindres carrés
Vous avez à présent tous les outils nécessaires à l’interpolation par les moindres carrés de la courbe expéri-
mentale de la sonde.
★ A l’aide de la fonction moinscar calculez les coefficients du polynôme d’interpolation pour un degré
que vous choisirez. (Ne dépassez pas le degré 10 car au delà on a un problème dû aux limitations du
type float.). Faites le calcul pour quatre degrés différents de polynôme (par exemple 4, 6, 8 et 10).
★ En utilisant la fonction Horn, calculez les valeurs de ces quatre polynômes pour chacune des tensions
expérimentales, puis en utilisant la fonction ecrire4 sauvegardez dans un fichier les valeurs des points
expérimentaux et les valeurs interpolées par les quatre polynômes (en deux fois).
★ Tracez avec Octave les courbes obtenues. Quelle conclusion pouvez-vous en tirer ?
★ Quelle est la différence profonde entre la méthode des moindres carrés et celle de Lagrange ?
La méthode de Horner permet de calculer la dérivée et la dérivée seconde de la fonction d’interpolation.
Avec l’endroit où s’annule la dérivée seconde il est possible d’obtenir les extremums de la dérivée première
et donc Vp la tension du plasma.
★ Sauvegardez dans un fichier les valeurs prises par le polynôme d’interpolation d’ordre 8 et ses deux
dérivées successives sur toutes les tensions relevées expérimentalement. Analysez graphiquement les
courbes et déduisez en les valeurs possibles pour Vp.
★ Proposez une fonction permettant d’obtenir automatiquement les valeurs de Vp et de les afficher. Tes-
tez différents degrés de polynôme.