ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/document/GMC1035/interpolation.tex
Revision: 1034
Committed: Wed Aug 21 21:12:02 2019 UTC (5 years, 8 months ago) by francois
Content type: application/x-tex
File size: 34696 byte(s)
Log Message:
mise a jour note de cours GMC1035

File Contents

# User Rev Content
1 francois 948 \begin{encadre}{Objectif du chapitre}
2     Le monde théorique des mathématiques aiment manipuler des fonctions continues. Le monde réel de l'ingénierie est fait de prise de mesure à différents moments. On obtient ainsi des echantillons de données. Ce chapitre montre des méthodes qui permettent de retrouver un des fonctions continues à partir de points de mesure.
3     \end{encadre}
4     \\[1cm]
5     \begin{encadre}{Connaissances antérieures nécessaires}
6     \begin{itemize}
7     \item les mathématiques : les polynomes.
8     \item programmation de base en Basic ou C : les types, les opérations élémentaires et la structuration de programme en mode console. Excel pour afficher les résultats
9     \end{itemize}
10    
11     \end{encadre}
12    
13    
14    
15 francois 939 \section{Mise en situation}
16     Lors d'un essai, la vitesse d'un véhicule est relevée toutes les 5 secondes pour obtenir le tableau de relevés suivant : \\
17     \\
18     \begin{tabular}{|r|r r r r r r r r r r|}
19     \hline
20     t(s) & 0 & 5 & 10 &15 & 20 & 25 & 30 & 35 & 40 & 45\\
21     v(km/h) & 55 &60 &58 & 54& 55 &60 &54 &57 &52 &49 \\
22     \hline
23     \end{tabular}
24     \\
25     Ce tableau peut être représenté par la figure suivante.
26    
27    
28     \begin{figure}[h]
29    
30     \begin{center}
31     \includegraphics[width=10cm,bb=0 0 742 513]{./interpolationexemple.jpg}
32     % interpolationexemple.jpg: 742x513 pixel, 72dpi, 26.18x18.10 cm, bb=0 0 742 513
33    
34    
35     \caption{Tracé du relevé de points}
36     \end{center}
37    
38     \end{figure}
39     L'objectif de ce chapitre est de trouver une fonction qui passe par ces points pour obtenir une expression analytique de la fonction $v=f(t)$. On passe d'une représentation discrète à une représentation continue. Cette méthode se nomme l'interpolation des points.
40     \\
41    
42     \huge\danger\hspace{1cm}\normalsize Il faut bien faire la différence entre les méthodes d'interpolation et les méthodes d'approximation.\\
43     Les méthodes d'interpolation recherche une fonction qui passe exactement par les points donnés alors que les méthodes d'approximation recherche une fonction qui passe le plus proche possible des points sans forcement passer par ces points.
44     \\Nous nous limitons dans ce cours aux méthodes d'interpolation.
45 francois 948 \section{Approximation par la méthode des moindres carrés}
46     L'idée est de faire passer une courbe au plus proche de la série de point $(x_i,y_i)$. Pour cela, nous cherchons à faire correspondre la série de points avec une courbe modèle $f(x,\overrightarrow{\beta})$ où $\overrightarrow{\beta}$ est un vecteur de paramètres.
47     L'objectif est de trouver les valeurs des différents paramètres $\beta$ afin que la courbe passe au plus proche des points.
48     Pour cela on calcule la somme $S$ des carrés de l'écart de chaque point à la courbe à $m$ paramètres et on minimise cette somme.
49     \subsection{Cas général}
50     \begin{eqnarray*}
51     S(\overrightarrow{\beta})=\sum_{i=1}^n\left(y_i-f(x_i,\overrightarrow{\beta})\right)^2
52     \end{eqnarray*}
53     Pour minimiser cette somme il faut s'assurer que la dérivée par rapport à chaque paramètre est nulle :
54     \begin{eqnarray*}
55     \left \{
56     \begin{array}{l}
57     \frac{\partial S(\overrightarrow{\beta})}{\partial \beta_1}=-2\sum_{i=1}^n\frac{\partial f(x_i,\overrightarrow{\beta})}{\partial \beta_1}\left(y_i-f(x_i,\overrightarrow{\beta})\right)=0
58     \\ \frac{\partial S(\overrightarrow{\beta})}{\partial \beta_2}=-2\sum_{i=1}^n\frac{\partial f(x_i,\overrightarrow{\beta})}{\partial \beta_2}\left(y_i-f(x_i,\overrightarrow{\beta})\right)=0
59     \\ \vdots\\
60     \frac{\partial S(\overrightarrow{\beta})}{\partial \beta_m}=-2\sum_{i=1}^n\frac{\partial f(x_i,\overrightarrow{\beta})}{\partial \beta_m}\left(y_i-f(x_i,\overrightarrow{\beta})\right)=0
61     \end{array}
62     \right.
63     \end{eqnarray*}
64     On aboutit à un système d'équation de $m$ inconnues à $m$ variables.
65 francois 939
66    
67 francois 948 \subsection{Application à la régression linéaire}
68     Dans le cas de la régression linéaire cela veut dire que la courbe recherchée est une droite de la forme $y=\beta_0+x\beta_1$. C'est le cas de l'exemple du paragraphe précédent.
69     La fonction $S$ s'écrit alors
70     \begin{eqnarray*}
71     S(\beta_0,\beta_1)=\sum_{i=1}^n\left(y_i-\beta_0-x_i\beta_1\right)^2
72     \end{eqnarray*}
73     La minimisation de S s'écrit
74     \begin{eqnarray*}
75     \left \{
76     \begin{array}{l}
77     \frac{\partial S(\beta_0,\beta_1)}{\partial \beta_0}=-2\sum_{i=1}^n\left(y_i-\beta_0-x_i\beta_1\right)=0\\
78     \frac{\partial S(\beta_0,\beta_1)}{\partial \beta_1}=-2\sum_{i=1}^nx_i\left(y_i-\beta_0-x_i\beta_1\right)=0
79     \end{array}
80     \right.
81     \end{eqnarray*}
82     On déduit de la première équation que
83     \begin{eqnarray*}
84     \sum_{i=1}^n\left(y_i-\beta_0-x_i\beta_1\right)=0\\
85     \sum_{i=1}^n y_i-\sum_{i=1}^n \beta_0-\sum_{i=1}^n x_i\beta_1=0\\
86     \sum_{i=1}^n y_i-n\beta_0-\beta_1\sum_{i=1}^n x_i=0\\
87     n\overline{y}-n\beta_0-\beta_1n\overline{x}=0\\
88     \overline{y}-\beta_1\overline{x}=\beta_0\\
89     \end{eqnarray*}
90     En remplaçant $\beta_0$ dans le système précédent on a
91     \begin{eqnarray*}
92     \left \{
93     \begin{array}{l}
94     \sum_{i=1}^n\left(y_i-\overline{y}+\beta_1\overline{x}-x_i\beta_1\right)=0\\
95     \sum_{i=1}^nx_i\left(y_i-\overline{y}+\beta_1\overline{x}-x_i\beta_1\right)=0
96     \end{array}
97     \right.
98     \end{eqnarray*}
99    
100     \begin{eqnarray*}
101     \left \{
102     \begin{array}{l}
103     \sum_{i=1}^n\left((y_i-\overline{y})-\beta_1(x_i-\overline{x})\right)=0\\
104     \sum_{i=1}^nx_i\left((y_i-\overline{y})-\beta_1(x_i-\overline{x})\right)=0
105     \end{array}
106     \right.
107     \end{eqnarray*}
108     En multipliant la ligne 1 par $\overline{x}$ et en soustrayant les 2 équations on a
109     \begin{eqnarray*}
110     \sum_{i=1}^n(x_i-\overline{x})\left((y_i-\overline{y})-\beta_1(x_i-\overline{x})\right)=0\\
111     \sum_{i=1}^n(x_i-\overline{x})(y_i-\overline{y})-\beta_1\sum_{i=1}^n(x_i-\overline{x})^2=0\\
112     \beta_1=\frac{\sum_{i=1}^n(x_i-\overline{x})(y_i-\overline{y})}{\sum_{i=1}^n(x_i-\overline{x})^2}\\
113     \beta_1=\frac{\sum_{i=1}^n(x_iy_i+\overline{x}*\overline{y}-x_i\overline{y}-y_i\overline{x})}{\sum_{i=1}^n(x_i^2+\overline{x}^2-2x_i\overline{x})}\\
114     \beta_1=\frac{\sum_{i=1}^nx_iy_i+n*\overline{x}*\overline{y}-\sum_{i=1}^nx_i\overline{y}-\sum_{i=1}^ny_i\overline{x}}{\sum_{i=1}^nx_i^2+n*\overline{x}^2-2\overline{x}\sum_{i=1}^nx_i}\\
115     \beta_1=\frac{\sum_{i=1}^nx_iy_i+n*\overline{x}*\overline{y}-n*\overline{x}*\overline{y}-n*\overline{y}*\overline{x}}{\sum_{i=1}^nx_i^2+n*\overline{x}^2-2\overline{x}*n*\overline{x}}\\
116     \beta_1=\frac{\sum_{i=1}^nx_iy_i-n*\overline{x}*\overline{y}}{\sum_{i=1}^nx_i^2-n*\overline{x}^2}\\
117     \end{eqnarray*}
118     Dans l'exemple donné on a $n=10$. On peut calculer $\beta_0$ et $\beta_1$ : \\ \\
119     \begin{tabular}{|r|r|r|r|r|}
120     \hline
121     &$x_i$ & $y_i$ &$x_i^2$ & $x_iy_i$ \\
122     \hline
123     & $0$&$55$&$0$&$0$\\
124     &$5$&$60$&$25$&$300$\\
125     &$10$&$58$&$100$&$580$\\
126     &$15$&$54$&$225$&$810$\\
127     &$20$&$55$&$400$&$1100$\\
128     &$25$&$60$&$625$&$1500$\\
129     &$30$&$54$&$925$&$1620$\\
130     &$35$&$51$&$1225$&$1785$\\
131     &$40$&$52$&$1600$&$2080$\\
132     &$45$&$49$&$2025$&$2205$\\
133     \hline
134     Total&$225$&$548$&$7125$&$11980$\\
135     Moyenne&$22.5$&$54.8$&&\\
136     \hline
137     \end{tabular}
138     \begin{eqnarray*}
139     \beta_1&=&\frac{\sum_{i=1}^nx_iy_i-n*\overline{x}*\overline{y}}{\sum_{i=1}^nx_i^2-n*\overline{x}^2}\\
140     \beta_1&=&\frac{11980-10*22.5*54.8}{7125-10*22.5*22.5}=-0.16969696\\
141     \beta_0&=&\overline{y}-\beta_1\overline{x}=54.8+0.16969696*22.5=58.618181818\\
142     \end{eqnarray*}
143    
144     \begin{figure}[h]
145     \begin{center}
146     \includegraphics[width=10cm,bb=0 0 589 418]{./approximation.jpg}
147     % approximation.jpg: 0x0 pixel, 300dpi, 0.00x0.00 cm, bb=
148     \caption{Approximation de la vitesse d'un véhicule par une régression linéaire et vérification avec un logiciel (LibreOffice)}
149     \end{center}
150     \end{figure}
151     \section{Méthodes des moindres carrées par les équations normales}
152     L'idée de la méthode est de dire que l'on veut faire passer au plus proche de $n$ points une courbe $y=f(x,\overrightarrow{\beta})$ où $\overrightarrow{\beta}$ est un vecteur de $m$ paramètres
153     \\ Pour les $n$ points on peut écrire que
154     \begin{eqnarray*}
155     y_i=f(x_i,\overrightarrow{\beta})\quad 1\leq i\leq n
156     \end{eqnarray*}
157     soit $n$ équations à $m$ variables. On obtient dont un système de $n$ inconnues à $m$ paramètres :
158     \begin{eqnarray*}
159     A(n,m)*x(m)=B(n)
160     \end{eqnarray*}
161     Ce système se transforme en un système d'équations normales de $m$ équations à $m$ inconnues
162     \begin{eqnarray*}
163     Ax=B\\
164     A^tAx=A^tB
165     \end{eqnarray*}
166     Ce système peut se résoudre grâce aux méthodes vues au chapitre précédent.
167     \\[1cm] En reprenant l'exemple précédent il vient que l'on peut construire le système d'équations suivant :
168     \begin{eqnarray*}
169     \left \{
170     \begin{array}{l}
171     \beta_0+0\beta_1=55\\
172     \beta_0+5\beta_1=60\\
173     \beta_0+10\beta_1=58\\
174     \beta_0+15\beta_1=54\\
175     \beta_0+20\beta_1=55\\
176     \beta_0+25\beta_1=60\\
177     \beta_0+30\beta_1=54\\
178 francois 1034 \beta_0+35\beta_1=51\\
179 francois 948 \beta_0+40\beta_1=52\\
180     \beta_0+45\beta_1=49\\
181     \end{array}
182     \right.
183     \end{eqnarray*}
184     soit sous un système matriciel
185     \begin{eqnarray*}
186     \begin{pmatrix}
187     1&0\\
188     1&5\\
189     1&10\\
190     1&15\\
191     1&20\\
192     1&25\\
193     1&30\\
194     1&35\\
195     1&40\\
196     1&45\\
197     \end{pmatrix}
198     \begin{pmatrix}
199     \beta_0\\
200     \beta_1
201     \end{pmatrix}
202     =
203     \begin{pmatrix}
204     55\\
205     60\\
206     58\\
207     54\\
208     55\\
209     60\\
210     54\\
211 francois 1034 51\\
212 francois 948 52\\
213     49\\
214     \end{pmatrix}
215     \end{eqnarray*}
216     \begin{eqnarray*}
217     \begin{pmatrix}
218     0&5&10&15&20&25&30&35&40&45\\
219     1&1&1&1&1&1&1&1&1&1
220     \end{pmatrix}
221     \begin{pmatrix}
222     1&0\\
223     1&5\\
224     1&10\\
225     1&15\\
226     1&20\\
227     1&25\\
228     1&30\\
229     1&35\\
230     1&40\\
231     1&45\\
232     \end{pmatrix}
233     \begin{pmatrix}
234     \beta_0\\
235     \beta_1
236     \end{pmatrix}
237     =\\
238     \begin{pmatrix}
239     0&5&10&15&20&25&30&35&40&45\\
240     1&1&1&1&1&1&1&1&1&1
241     \end{pmatrix}
242     \begin{pmatrix}
243     55\\
244     60\\
245     58\\
246     54\\
247     55\\
248     60\\
249     54\\
250 francois 1034 51\\
251 francois 948 52\\
252     49\\
253     \end{pmatrix}
254     \end{eqnarray*}
255     \begin{eqnarray*}
256     \begin{pmatrix}
257     225&7125\\
258     10&225\\
259     \end{pmatrix}
260     \begin{pmatrix}
261     \beta_0\\
262     \beta_1
263     \end{pmatrix}
264     =
265     \begin{pmatrix}
266     11980\\548\\
267     \end{pmatrix}
268     \end{eqnarray*}
269     \begin{eqnarray*}
270     \beta_0=\frac{11980*225-7125*548}{225*225-10*7125}=58.61818181\\
271     \beta_1=\frac{225*548-11980*10}{225*225-10*7125}=-0.169696969696
272     \end{eqnarray*}
273     On retrouve exactement la même droite que précédemment $y=-0.1696969696x+58.6181818181$\\
274     On peut passer à un autre exemple pour faire passer une courbe de degré $2$ au travers des mêmes points. Dans ce cas la courbe a trois paramètres et s'écrit $y=\beta_0+\beta_1 x+\beta_2 x^2$.
275     Les calculs précédents deviennent :
276     \begin{eqnarray*}
277     \left \{
278     \begin{array}{l}
279     \beta_0+0\beta_1+0\beta_2=55\\
280     \beta_0+5\beta_1+25\beta_2=60\\
281     \beta_0+10\beta_1+100\beta_2=58\\
282     \beta_0+15\beta_1+225\beta_2=54\\
283     \beta_0+20\beta_1+400\beta_2=55\\
284     \beta_0+25\beta_1+625\beta_2=60\\
285     \beta_0+30\beta_1+900\beta_2=54\\
286     \beta_0+35\beta_1+1225\beta_2=57\\
287     \beta_0+40\beta_1+1600\beta_2=52\\
288     \beta_0+45\beta_1+2025\beta_2=49\\
289     \end{array}
290     \right.
291     \end{eqnarray*}
292     \begin{eqnarray*}
293     \begin{pmatrix}
294     1&0&0\\
295     1&5&25\\
296     1&10&100\\
297     1&15&225\\
298     1&20&400\\
299     1&25&625\\
300     1&30&900\\
301     1&35&1225\\
302     1&40&1600\\
303     1&45&2025\\
304     \end{pmatrix}
305     \begin{pmatrix}
306     \beta_0\\
307     \beta_1\\
308     \beta_2\\
309     \end{pmatrix}
310     =
311     \begin{pmatrix}
312     55\\
313     60\\
314     58\\
315     54\\
316     55\\
317     60\\
318     54\\
319     57\\
320     52\\
321     49\\
322     \end{pmatrix}
323     \end{eqnarray*}
324     \begin{eqnarray*}
325     \begin{pmatrix}
326     0&25&1000&225&400&625&900&1225&1600&2025\\
327     0&5&10&15&20&25&30&35&40&45\\
328     1&1&1&1&1&1&1&1&1&1
329     \end{pmatrix}
330     \begin{pmatrix}
331     1&0&0\\
332     1&5&25\\
333     1&10&100\\
334     1&15&225\\
335     1&20&400\\
336     1&25&625\\
337     1&30&900\\
338     1&35&1225\\
339     1&40&1600\\
340     1&45&2025\\
341     \end{pmatrix}
342     \begin{pmatrix}
343     \beta_0\\
344     \beta_1\\
345     \beta_2\\
346     \end{pmatrix}
347     =\\
348     \begin{pmatrix}
349     0&25&1000&225&400&625&900&1225&1600&2025\\
350     0&5&10&15&20&25&30&35&40&45\\
351     1&1&1&1&1&1&1&1&1&1
352     \end{pmatrix}
353     \begin{pmatrix}
354     55\\
355     60\\
356     58\\
357     54\\
358     55\\
359     60\\
360     54\\
361     57\\
362     52\\
363     49\\
364     \end{pmatrix}
365     \end{eqnarray*}
366     \begin{eqnarray*}
367     \begin{pmatrix}
368     10 & 245 &7150\\
369     245 & 8325 &261875\\
370     7150 & 261875 &9628750\\
371     \end{pmatrix}
372     \begin{pmatrix}
373     \beta_0\\
374     \beta_1\\
375     \beta_2\\
376     \end{pmatrix}
377     =
378     \begin{pmatrix}
379     548\\
380     13080\\
381     373800
382     \end{pmatrix}
383     \end{eqnarray*}
384     \begin{eqnarray*}
385     \begin{pmatrix}
386     \beta_0\\
387     \beta_1\\
388     \beta_2\\
389     \end{pmatrix}
390     =
391     \begin{pmatrix}
392     57.6540770222\\
393     -0.000126148741\\
394     -0.003987393535\\
395     \end{pmatrix}
396     \end{eqnarray*}
397     La courbe a pour équation $y=57.6540770222-0.000126148741x-0.003987393535x^2$
398     \\[1cm]Le problème principal de cette méthode est que les équations normales sont des systèmes d'équations linéaires souvent mal conditionnés.
399     Il est préférable se solutionner le problème original non carré à l'aide des méthodes de Householder (méthode du QR) ou des transformations de Givens.
400    
401    
402    
403    
404    
405 francois 939 \section{Interpolation par un polynôme}
406     L'idée de base est de construire un polynôme d'interpolation (ou de collocation) qui passe par les points donnés.
407     \\
408     Un polynôme de degré $n$ s'écrit
409     \begin{eqnarray*}
410     P_n(x)&=&a_0+a_1x+...+a_nx^n\\
411     avec \quad a_n&\neq&0
412     \end{eqnarray*}
413     $P_n(x)$ possède $n$ racines complexes ou réelles. Les racines sont $r_i$ et elles sont définies par $P_n(r_i)=0$.
414     Il existe un seul polynôme de degré $n$ passant par $n+1$ points.
415    
416     Démonstration :
417     Si $Pn(x)$ n'est pas unique alors il existe au moins deux polynômes ($P_{1n}(x)$ et $P_{2n}(x)$) qui passent par $n+1$ points. On calcul alors $d_n(x)$ un polynôme de degré $n$
418     \begin{eqnarray*}
419     d_n(x)=P_{1n}(x)-P_{2n}(x)\\
420     \end{eqnarray*}
421     On calcule ensuite la valeur de $d_n(x)$ pour chaque $n+1$ points d'interpolation $(x_i,y_i)$.
422     \begin{eqnarray*}
423     d_n(x_i)&=&P_{1n}(x_i)-P_{2n}(x_i)\\
424     &=&P_{1n}(x_i)-P_{2n}(x_i)\\
425     &=&y_i-y_i\\
426     &=&0\\
427     \end{eqnarray*}
428     On constate que $d_n(x)$ un polynôme de degré $n$ possède $n+1$ racines. Ce qui est contraire aux propriétés des polynômes. Donc l'hypothèse de non unicité est fausse. $Pn(x)$ est unique.
429    
430     \subsection{Méthode de la matrice de Vandermonde}
431     La première méthode pour calculer le polynôme d'interpolation est de simplement dire que le polynôme passe par $n+1$ points. On construit donc $n+1$ équations et comme il y a $n+1$ inconnues (les $a_i$), on obtient un système linéaire de dimension $(n+1)*(n+1)$ à résoudre.
432     En écrivant que le point $(x_i,y_i)$ appartient au polynôme on a
433     \begin{eqnarray*}
434     P_n(x_i)=a_0+a_1x_i+...+a_nx_i^n=y_i
435     \end{eqnarray*}
436     et on obtient le système
437     \begin{eqnarray*}
438     \begin{pmatrix}
439     1 & x_0 & ... & x_0^n\\
440     1 & x_1 & ... & x_1^n\\
441     & & \vdots&\\
442     1 & x_n & ... & x_n^n\\
443     \end{pmatrix}
444     \begin{pmatrix}
445     a_0\\
446     a_1\\
447     \vdots\\
448     a_n\\
449     \end{pmatrix}
450     =
451     \begin{pmatrix}
452     y_0\\
453     y_1\\
454     \vdots\\
455     y_n\\
456     \end{pmatrix}
457     \end{eqnarray*}
458     La matrice $\begin{pmatrix}
459     1 & x_0 & ... & x_0^n\\
460     1 & x_1 & ... & x_1^n\\
461     & & \vdots&\\
462     1 & x_n & ... & x_n^n\\
463     \end{pmatrix}
464     $ s'appelle la matrice de Vandermonde.
465     Il suffit de résoudre ce système pour obtenir le polynôme.
466    
467     Exemple : Calculer le polynôme d'interpolation qui passent par les points $(0,1)$,$(1,2)$,$(2,9)$ et $(3,28)$.
468     \\Nous avons 4 points, nous devons donc déterminer $P_3(x)$. Dans ce cas le système s'écrit
469     \begin{eqnarray*}
470     \begin{pmatrix}
471     1 & 0 & 0 & 0\\
472     1 & 1 & 1 & 1\\
473     1 & 2 & 4 & 8\\
474     1 & 3 & 9 & 27\\
475     \end{pmatrix}
476     \begin{pmatrix}
477     a_0\\
478     a_1\\
479     a_2\\
480     a_3\\
481     \end{pmatrix}
482     =
483     \begin{pmatrix}
484     1\\
485     2\\
486     9\\
487     28\\
488     \end{pmatrix}
489     \end{eqnarray*}
490     La solution est
491     \begin{eqnarray*}
492     \begin{pmatrix}
493     a_0\\
494     a_1\\
495     a_2\\
496     a_3\\
497     \end{pmatrix}
498     =
499     \begin{pmatrix}
500     1\\
501     0\\
502     0\\
503     1\\
504     \end{pmatrix}
505     \end{eqnarray*}
506     et le polynôme d'interpolation s'écrit $P_3(x)=1+x^3$.
507     \begin{figure}[h]
508    
509     \begin{center}
510     \begin{center}
511     \includegraphics[width=12cm,bb=0 0 746 481]{./interpolationex.jpg}
512     % interpolationex.jpg: 995x641 pixel, 96dpi, 26.33x16.96 cm, bb=0 0 746 481
513     \end{center}
514    
515    
516     \caption{Tracé de l'interpolation des points $(0,1),(1,2),(2,9),(3,28)$}
517     \end{center}
518    
519     \end{figure}
520     Cette méthode apparaît correcte pour obtenir le résultat souhaité. Cependant elle a des désavantages majeurs :
521     \begin{itemize}
522     \item Elle nécessite une résolution d'un système linéaire ce qui peut s'avérer coûteux en temps CPU.
523     \item La matrice de Vandermonde présente des arguments pour dire que son conditionnement peut poser problème. En effet chaque colonne est obtenue en élevant de degré de la colonne précédente de 1. Ce qui a pour effet de faire augmenter en fonction de $n$ l'écart d'ordre entre les nombres de la matrices. Tout est réuni pour augmenter le conditionnement de la matrice dès que $n$ grandit.
524     \item Si on ajoute un point à une liste de points, tout le travail est à refaire. On ne peut pas déduire $P_n(x)$ à partir de $P_{n-1}(x)$. Ceci est problématique pour l'utilisation en temps réel.
525     \end{itemize}
526    
527     \subsection{Méthode de Lagrange}
528    
529     La méthode de Lagrange est un autre moyen d'obtenir le même résultat que la méthode de Vandermonde en corrigeant ses désavantages.
530     \\L'idée de la méthode est de construire des polynômes $L_i(x)$ de degré $n$ tel que pour tous les points d'interpolation $(x_i,y_i)$ on a
531     \begin{eqnarray*}
532     L_i(x_i)=1\quad et\quad L_i(x_j)=0\quad pour \quad 0\le i\le n
533     \end{eqnarray*}
534     Cette définition conduit à la définition de $n+1$ polynômes de degré $n$.
535     \\Nous avons alors
536     \begin{eqnarray*}
537     P_n(x)=\sum_{i=0}^ny_iL_i(x)
538     \end{eqnarray*}
539     \\Démonstration
540     \begin{eqnarray*}
541     P_n(x_j)=\sum_{i=0}^ny_iL_i(x_j)=y_j*L_j(x_j)+\sum_{i=0,i\ne j}^ny_iL_i(x_j)=y_j
542     \end{eqnarray*}
543    
544     Construction des polynômes $L$:
545     \begin{itemize}
546     \item degré 1 : polynôme passant par les point $(x_0,y_0)$ et $(x_1,y_1)$.
547     \begin{eqnarray*}
548     \left.
549     \begin{array}{l}
550     L_0(x_0)=1\\
551     L_0(x_1)=0\\
552     \end{array}
553     \right \}
554     L_0(x)=\frac{x-x_1}{x_0-x_1}\\
555     \left.
556     \begin{array}{l}
557     L_1(x_0)=0\\
558     L_1(x_1)=1\\
559     \end{array}
560     \right \}
561     L_1(x)=\frac{x-x_0}{x_1-x_0}\\
562     P_1(x)=y_0\frac{x-x_1}{x_0-x_1}+y_1\frac{x-x_0}{x_1-x_0}
563     \end{eqnarray*}
564     \item degré 2 : polynôme passant par les point $(x_0,y_0)$, $(x_1,y_1)$ et $(x_2,y_2)$.
565     \begin{eqnarray*}
566     \left.
567     \begin{array}{l}
568     L_0(x_0)=1\\
569     L_0(x_1)=0\\
570     L_0(x_2)=0\\
571     \end{array}
572     \right \}
573     L_0(x)=\frac{(x-x_1)(x-x_2)}{(x_0-x_1)(x_0-x_2)}\\
574     \left.
575     \begin{array}{l}
576     L_1(x_0)=0\\
577     L_1(x_1)=1\\
578     L_1(x_2)=0\\
579     \end{array}
580     \right \}
581     L_1(x)=\frac{(x-x_0)(x-x_2)}{(x_1-x_0)(x_1-x_2)}\\
582     \left.
583     \begin{array}{l}
584     L_2(x_0)=0\\
585     L_2(x_1)=0\\
586     L_2(x_2)=1\\
587     \end{array}
588     \right \}
589     L_2(x)=\frac{(x-x_0)(x-x_1)}{(x_2-x_0)(x_2-x_1)}\\
590     P_2(x)=y_0\frac{(x-x_1)(x-x_2)}{(x_0-x_1)(x_0-x_2)}+y_1\frac{(x-x_0)(x-x_2)}{(x_1-x_0)(x_1-x_2)}+y_2\frac{(x-x_0)(x-x_1)}{(x_2-x_0)(x_2-x_1)}
591     \end{eqnarray*}
592     \item degré $n$
593     \end{itemize}
594    
595     \begin{eqnarray*}
596     L_i(x)=\frac{(x-x_0)...(x-x_{i-1})(x-x_{i+1})...(x-x_n)}{(x_i-x_0)...(x_i-x_{i-1})(x_i-x_{i+1})...(x_I-x_n)}
597     \end{eqnarray*}
598     En reprenant l'exemple du paragraphe précédent qui consiste à rechercher le polynôme d'interpolation qui passe par les points $(0,1)$,$(1,2)$,$(2,9)$ et $(3,28)$.
599     \\On calcule les polynômes $L$ :
600     \begin{eqnarray*}
601     L_0(x)&=&\frac{(x-1)(x-2)(x-3)}{(0-1)(0-2)(0-3)}=-\frac{1}{6}(x^3-6x^2+11x-6)\\
602     L_1(x)&=&\frac{(x-0)(x-2)(x-3)}{(1-0)(1-2)(1-3)}=\frac{1}{2}(x^3-5x^2+6x)\\
603     L_2(x)&=&\frac{(x-0)(x-1)(x-3)}{(2-0)(2-1)(2-3)}=-\frac{1}{2}(x^3-4x^2+3x)\\
604     L_3(x)&=&\frac{(x-0)(x-1)(x-2)}{(3-0)(3-1)(3-2)}=\frac{1}{6}(x^3-3x^2+2x)\\
605     P_3(x)&=&(1)\frac{-1}{6}(x^3-6x^2+11x-6)+(2)\frac{1}{2}(x^3-5x^2+6x)+(9)\frac{-1}{2}(x^3-4x^2+3x)+(28)\frac{1}{6}(x^3-3x^2+2x)\\
606     &=&x^3+1
607     \end{eqnarray*}
608     Cette méthode est efficace mais non récursive. Les polynômes de degré $n+1$ ne peuvent pas être calculé à partir des polynômes de degré $n$. L'utilisation pour des processus en temps réel peut être un problème.
609    
610     \subsection{Méthode de Newton}
611     On écrit le polynôme $P_n(x)$ sous la forme
612     \begin{eqnarray*}
613     P_n(x)=a_0+a_1(x-x_0)+a_2(x-x_0)(x-x_1)+...+a_n(x-x_0)(x-x_1)...(x-x_{n-1})
614     \end{eqnarray*}
615     et on identifie les $a_i$ en calculant successivement $P_n(x_i)=y_i$
616     \begin{eqnarray*}
617     P_n(x_0)&=&a_0=y_0=f(x_0)\\
618     P_n(x_1)&=&a_0+a_1(x_1-x_0)=y_1\\
619     & &y_0+a_1(x_1-x_0)=y_1\quad a_1=\frac{y_1-y_0}{x_1-x_0}=\frac{f(x_1)-f(x_0)}{x_1-x_0}\\
620     \end{eqnarray*}
621     On pose $f[x_i,x_{i+1}]=\frac{f(x_{i+1})-f(x_i)}{x_{i+1}-x_i}$ d'où $a_1=f[x_0,x_1]$\\
622     \begin{eqnarray*}
623     P_n(x_2)&=&a_0+a_1(x_2-x_0)+a_2(x_2-x_0)(x_2-x_1)=y_2\\
624 francois 1034 & &f(x_0)+f[x_0,x_1](x_2-x_0)+a_2(x_2-x_0)(x_2-x_1)=f(x_2)\\
625     a_2&=&\frac{1}{(x_2-x_0)(x_2-x_1)}\left(f(x_2)-f(x_0)-(x_2-x_0)f[x_0,x_1]\right)\\
626 francois 939 &=&\frac{1}{x_2-x_0}\left(\frac{f(x_2)-f(x_0)}{x_2-x_1}-\frac{x_2-x_0}{x_2-x_1}f[x_0,x_1]\right)\\
627     &=&\frac{1}{x_2-x_0}\left(\frac{f(x_2)-f(x_1)+f(x_1)-f(x_0)}{x_2-x_1}-\frac{x_2-x_0}{x_2-x_1}f[x_0,x_1]\right)\\
628     &=&\frac{1}{x_2-x_0}\left(\frac{f(x_2)-f(x_1)}{x_2-x_1}+\frac{f(x_1)-f(x_0)}{x_1-x_0}\frac{x_1-x_0}{x_2-x_1}-\frac{x_2-x_0}{x_2-x_1}f[x_0,x_1]\right)\\
629     &=&\frac{1}{x_2-x_0}\left(f[x_1,x_2]+f[x_0,x_1]\frac{x_1-x_0}{x_2-x_1}-\frac{x_2-x_0}{x_2-x_1}f[x_0,x_1]\right)\\
630     &=&\frac{1}{x_2-x_0}\left(f[x_1,x_2]-f[x_0,x_1]\right)\\
631     \end{eqnarray*}
632     En posant $f[x_i,x_{i+1},x_{i+2}]=\frac{f[x_{i+1},x_{i+2}]-f[x_i,x_{i+1}]}{x_{i+2}-x_i}$ il vient $a_2=f[x_0,x_1,x_2]$
633    
634     En généralisant la démarche de calcul de $a_2$ et en posant $f[x_i,..,x_j]=\frac{f[x_{i+1},..,x_j]-f[x_i,..,x_{j-1}]}{x_j-x_i}$ pour $j>i+1$ on a
635     \begin{eqnarray*}
636     a_i=f[x_0,...,x_i]
637     \end{eqnarray*}
638     On évalue le polynôme d'interpolation en construisant la table des différences divisées.\\
639     \begin{tabular}{|r|r|r|r|r|r|}
640     \hline
641     $x_i$ & $f(x_i)$ & $f[x_i,x_{i+1}]$ & $f[x_i,x_{i+1},x_{i+2}]$ & $...$ & $f[x_i,...x_n]$ \\
642     \hline
643     $x_0$ & $f(x_0)=a_0$ & & & & \\
644     & & $f[x_0,x_1]=a_1$ & & & \\
645     $x_1$ & $f(x_1)$ & & $f[x_0,x_1,x_2]=a_2$ & & \\
646     & & $f[x_1,x_2]$ & & ... & $f[x_1,...,x_n]=a_n$ \\
647     $x_2$ & $f(x_2)$ & & $f[x_1,x_2,x_3]$ & & \\
648     & & $f[x_2,x_3]$ & & & \\
649     $x_3$ & $f(x_3)$ & & & & \\
650    
651     \hline
652     \end{tabular}\\
653     \\En reprenant l'exemple du paragraphe précédent qui consiste à rechercher le polynôme d'interpolation qui passe par les points $(0,1)$,$(1,2)$,$(2,9)$ et $(3,28)$ on calcule la table des différences divisées pour cet exemple \\
654     \\
655     \begin{tabular}{|r|r|l|l|l|}
656     \hline
657     $x_i$ & $f(x_i)$ & $f[x_i,x_{i+1}]$ & $f[x_i,x_{i+1},x_{i+2}]$ & $f[x_i,x_{i+1},x_{i+2},x_{i+3}]$ \\
658     \hline
659     $0$ & $1$ & & & \\
660     & & $\frac{2-1}{1-0}=1 $ & & \\
661     $1$ & $2$ & & $\frac{7-1}{2-0}=3$ & \\
662     & & $\frac{9-2}{2-1}=7$ & &$\frac{6-3}{3-0}=1$ \\
663     $2$ & $9$ & & $\frac{19-7}{3-1}=6$ & \\
664     & & $\frac{28-9}{3-2}=19 $ & & \\
665     $3$ & $28$ & & & \\
666    
667     \hline
668     \end{tabular}
669     \\
670     \\On calcule alors le polynôme d'interpolation
671     \begin{eqnarray*}
672     P_3(x)&=&1+1(x-0)+3(x-0)(x-1)+1(x-0)(x-1)(x-2)\\
673     &=&x^3+1\\
674     \end{eqnarray*}
675     on remarque que
676     \begin{eqnarray*}
677     P_2(x)&=&1+1(x-0)+3(x-0)(x-1)\\
678     &=&3x^2-2x+1\\
679     \end{eqnarray*}
680     ou que
681     \begin{eqnarray*}
682     P_3(x)&=&P_2(x)+1(x-0)(x-1)(x-2)\\
683     \end{eqnarray*}
684     Si on ajoute des points à l'interpolation on peut trouver le nouveau polynôme en ajoutant une correction au polynôme de degré inférieur.
685    
686    
687     \subsection{Erreur d'interpolation}
688     Soit $E_n(x)$ l'erreur d'interpolation alors
689     \begin{eqnarray*}
690     E_n(x)=f(x)-P_n(x)
691     \end{eqnarray*}
692     Puisque on fait de l'interpolation, on a
693     \begin{eqnarray*}
694     E_n(x_i)=0
695     \end{eqnarray*}
696     Tout comme l'erreur de la formule de Taylor peut être définie sans être calculée, l'erreur d'interpolation se calcule de la manière suivante
697     \\ Il existe $\zeta (x)\in ]x_0,x_n[$ tel que
698     \begin{eqnarray*}
699     E_n(x)=\frac{f^{(n+1)}\zeta (x)}{(n+1)!}(x-x_0)...(x-x_n)
700     \end{eqnarray*}
701    
702     \begin{itemize}
703     \item Tout comme dans la formule d erreur de la formule de Taylor, on sait que $\zeta (x)$ existe mais on ne sait pas le calculer.
704     \item L'erreur est nulle aux points d'interpolation.
705     \item L'erreur est petite autour des points d'interpolation
706 francois 948 \item L'erreur est un polynôme de degré $n+1$. Si $n$ est grand (plus grand que $3$) le polynôme est de degré important et l'erreur oscille beaucoup. L'erreur devient ainsi importante quand le degré est important. Et comme le degré est lié aux nombre de points d'interpolation cette manière d'interpoler est peu intéressante.
707 francois 939 \end{itemize}
708    
709    
710    
711    
712     \section{Interpolation par des polynômes par morceau}
713     L'objectif est de choisir le degré des polynômes d'interpolation quelque soit le nombre de points d'interpolation tout en conservant des courbes lisses et régulières.
714     Pour obtenir des courbes lisses, il faut des fonctions dérivables plusieurs fois. Plus le degré est grand plus la courbe est lisse mais plus le degré est grand plus l'oscillation est importante. Il faut faire un compromis pour faire le bon choix.
715     Ainsi nous nous arrêtons sur une interpolation par des polynômes de degrés $3$. Nous choisissons la méthode des splines cubiques qui consiste à relier les points par des polynômes de degré $3$.
716     \subsection{Les splines cubiques}
717     Soit $n+1$ points d'interpolation noté $(x_i,y_i=f(x_i)=f_i)$ pour $0\le i \le n$.
718     \\Pour les $n$ intervalles $[x_i,x_{i+1}]$ avec $0\le i \le n-1$ on pose
719     \begin{eqnarray*}
720     h_i&=&x_{i+1}-x_i\\
721     p_i(x)&=&f_i+f'_i(x-x_i)+\frac{f''_i}{2!}(x-x_i)^2+\frac{f'''_i}{3!}(x-x_i)^3\\
722     \end{eqnarray*}
723     On a donc $4n$ coefficients à déterminer : $f_i,f'_i,f''_i,f'''_i$.
724     \\On va essayer d'exprimer toutes les inconnues en fonctions des $f''_i$ Pour cela on ajoute 1 inconnue supplémentaire qui est $f''_n$ pour aboutir à $4n+1$ inconnues.
725     Cette nouvelle inconnue peut s'exprimer en fonction des autres inconnues :
726     \begin{eqnarray}
727     \label{eqnspline}
728     f''_n(x)=f''_{n-1}(x_n)+f'''_{n-1}(x_n-x_{n-1})=f''_{n-1}(x_n)+h_{n-1}f'''_{n-1}
729     \end{eqnarray}
730     Nous allons écrire maintenant les différentes conditions de régularité de l'interpolation :
731     \begin{itemize}
732     \item Nous faisons une interpolation : $p_i(x)=f(x_i)=f_i$ pour $0\le i \le n$
733     \item Continuité de la dérivée seconde pour les $n-1$ points intérieurs
734     \begin{eqnarray*}
735     p''_{i+1}(x_{i+1})&=&p''_{i}(x_{i+1}) \quad 0\le i \le n-2\\
736     f''_{i+1}&=&f''_i+f'''_i(x_{i+1}-x_i)=f''_i+f'''_ih_i\\
737     f'''_i&=&\frac{f''_{i+1}-f''_i}{h_i}
738     \end{eqnarray*}
739     En ajoutant la relation précédente \eqref{eqnspline} il vient
740     \begin{eqnarray*}
741     f'''_i&=&\frac{f''_{i+1}-f''_i}{h_i} \quad 0\le i \le n-1
742     \end{eqnarray*}
743     \item Continuité de la fonction pour les $n-1$ points intérieurs et le point final
744     \begin{eqnarray*}
745     p_{i+1}(x_{i+1})&=&f(x_{i+1})=f_{i+1} \quad 0\le i \le n-1\\
746     &=&f_i+f'_i(x-x_i)+\frac{f''_i}{2!}(x-x_i)^2+\frac{f'''_i}{3!}(x-x_i)^3 \quad 0\le i \le n-1\\
747     &=&f_i+f'_ih_i+\frac{f''_i}{2}h_i^2+\frac{f'''_i}{6}h_i^3 \\
748     h_if'_i&=&f_{i+1}-f_i-\frac{f''_i}{2}h_i^2-\frac{f'''_i}{6}h_i^3 \\
749     f'_i&=&\frac{f_{i+1}-f_i}{h_i}-\frac{f''_i}{2}h_i-\frac{f'''_i}{6}h_i^2 \\
750     f'_i&=&f[x_i.x_{i+1}]-\frac{f''_i}{2}h_i-\frac{f'''_i}{6}h_i^2 \\
751     f'_i&=&f[x_i.x_{i+1}]-\frac{f''_i}{2}h_i-\frac{\frac{f''_{i+1}-f''_i}{h_i}}{6}h_i^2 \\
752     f'_i&=&f[x_i.x_{i+1}]-\frac{f''_i}{3}h_i-\frac{f''_{i+1}}{6}h_i \\
753     \end{eqnarray*}
754     \item Continuité de la dérivée première pour les $n-1$ points intérieurs
755     \begin{eqnarray*}
756     p'_i(x_{i+1})&=& p'_{i+1}(x_{i+1}) \quad 0\le i \le n-2\\
757     f'_i+(x_{i+1}-x_i)f''_i+(x_{i+1}-x_i)^2\frac{f'''_i}{2}&=&f'_{i+1}\\
758     f'_i+h_i f''_i+h_i^2\frac{f'''_i}{2}&=&f'_{i+1}\\
759     f[x_i.x_{i+1}]-\frac{f''_i}{3}h_i-\frac{f''_{i+1}}{6}h_i+h_i f''_i+h_i^2\frac{f'''_i}{2}&=&f[x_{i+1},x_{i+2}]-\frac{f''_{i+1}}{3}h_{i+1}-\frac{f''_{i+2}}{6}h_{i+1}\\
760     f[x_i.x_{i+1}]-\frac{f''_i}{3}h_i-\frac{f''_{i+1}}{6}h_i+h_i f''_i+h_i^2\frac{\frac{f''_{i+1}-f''_i}{h_i}}{2}&=&f[x_{i+1},x_{i+2}]-\frac{f''_{i+1}}{3}h_{i+1}-\frac{f''_{i+2}}{6}h_{i+1}\\
761     f[x_i.x_{i+1}]-\frac{f''_i}{3}h_i-\frac{f''_{i+1}}{6}h_i+h_i f''_i+h_i\frac{f''_{i+1}-f''_i}{2}&=&f[x_{i+1},x_{i+2}]-\frac{f''_{i+1}}{3}h_{i+1}-\frac{f''_{i+2}}{6}h_{i+1}\\
762     h_if''_i+2(h_i+h_{i+1})f''_{i+1}+h_{i+1}f''_{i+2}&=&6f[x_{i+1},x_{i+2}]-6f[x_{i},x_{i+1}]\\
763     \frac{h_i}{h_i+h_{i+1}}f''_i+2f''_{i+1}+\frac{h_{i+1}}{h_i+h_{i+1}}f''_{i+2}&=&\frac{6f[x_{i+1},x_{i+2}]-6f[x_{i},x_{i+1}]}{h_i+h_{i+1}}\\
764     \frac{h_i}{h_i+h_{i+1}}f''_i+2f''_{i+1}+\frac{h_{i+1}}{h_i+h_{i+1}}f''_{i+2}&=&6f[x_i,x_{i+1},x_{x+2}]\\
765     \end{eqnarray*}
766     \end{itemize}
767     On obtient ainsi $n-1$ équations pour les $n+1$ coefficients $f''_i$. Pour les deux autres équations on fixe la courbure aux deux extrémités : $f''_0=a$ et $f''_n=b$.
768     \\Si $a=b=0$ on parle de spline cubique naturelle.
769     \\ On aboutit alors au système suivant
770    
771     \begin{eqnarray*}
772     \begin{pmatrix}
773     1 & 0 & 0 & 0 & ... & 0\\
774     \frac{h_0}{h_0+h_1} & 2 & \frac{h_1}{h_0+h_1} & 0 & ... & 0\\
775     0 &\frac{h_1}{h_1+h_2} & 2 & \frac{h_2}{h_1+h_2} & ... & 0\\
776     & & & &\vdots & &\\
777     0 &0 & 0 & 0 & ... & \frac{h_{n-1}}{h_{n-2}+h_{n-1}}\\
778     0 & 0 & 0 & 0 & ... & 1\\
779     \end{pmatrix}
780     \begin{pmatrix}
781     f''_0\\
782     f''_1\\
783     f''_2\\
784     \vdots\\
785     f''_{n-1}\\
786     f''_n\\
787     \end{pmatrix}
788     =
789     \begin{pmatrix}
790     a\\
791     6f[x_0,x_1,x_2]\\
792     6f[x_1,x_2,x_3]\\
793     \vdots\\
794     6f[x_{n-2},x_{n-1},x_n]\\
795     b\\
796     \end{pmatrix}
797     \end{eqnarray*}
798    
799     Pour finir les $f''_i$ sont solutions de ce système tridiagonal avec pivot toujours différent de $0$ et les autres inconnues sont
800     \begin{eqnarray*}
801     f_i&=&f(x_i)=y_i\\
802     f'_i&=&f[x_i.x_{i+1}]-\frac{f''_i}{3}h_i-\frac{f''_{i+1}}{6}h_i\\
803     f'''_i&=&\frac{f''_{i+1}-f''_i}{h_i}\\
804     p_i(x)&=&f_i+f'_i(x-x_i)+\frac{f''_i}{2!}(x-x_i)^2+\frac{f'''_i}{3!}(x-x_i)^3\\
805     avec\quad 0 &\le& i \le n-1
806     \end{eqnarray*}
807     \\
808     \\
809     Exemple : interpolation d'une spline cubique naturelle pour les points $(1,1),(2,9),(4,2),(5,11)$
810     \\
811     \\
812     On construit d'abord la table des différences divisées \\ \\
813     \begin{tabular}{|r|r|l|l|l|}
814     \hline
815     $x_i$ & $f(x_i)$ & $f[x_i,x_{i+1}]$ & $f[x_i,x_{i+1},x_{i+2}]$ & $h_i$ \\
816     \hline
817     $1$ & $1$ & & & $1$ \\
818     & & $\frac{9-1}{2-1}=8 $ & & \\
819     $2$ & $9$ & & $\frac{\frac{-7}{2}-8}{4-1}=\frac{-23}{6}$ & $2$ \\
820     & & $\frac{2-9}{4-2}=\frac{-7}{2}$ & & \\
821     $4$ & $2$ & & $\frac{9-\frac{-7}{2}}{5-2}=\frac{25}{6}$ & $1$ \\
822     & & $\frac{11-2}{5-4}=9 $ & & \\
823     $5$ & $11$ & & & \\
824    
825     \hline
826     \end{tabular}
827     \\
828     \\
829     On peut ensuite écrire le système :
830     \\
831     \begin{eqnarray*}
832     \begin{pmatrix}
833     1 & 0 & 0 & 0 \\
834     \frac{1}{3} & 2 & \frac{2}{3} & 0 & \\
835     0 &\frac{2}{3} & 2 & \frac{1}{3} \\
836     0 & 0 & 0 & 1\\
837     \end{pmatrix}
838     \begin{pmatrix}
839     f''_0\\
840     f''_1\\
841     f''_2\\
842     f''_3\\
843     \end{pmatrix}
844     =
845     \begin{pmatrix}
846     0\\
847     6\frac{-23}{6}\\
848     6\frac{25}{6}\\
849     0\\
850     \end{pmatrix}
851     =
852     \begin{pmatrix}
853     0\\
854     -23\\
855     25\\
856     0\\
857     \end{pmatrix}
858     \end{eqnarray*}
859     La solution de ce système est
860     \begin{eqnarray*}
861     \begin{pmatrix}
862     f''_0\\
863     f''_1\\
864     f''_2\\
865     f''_3\\
866     \end{pmatrix}
867     =
868     \begin{pmatrix}
869     0\\
870     \frac{-141}{8}\\
871     \frac{147}{8}\\
872     0\\
873     \end{pmatrix}
874     \end{eqnarray*}
875     L'interpolation est donc
876     \begin{itemize}
877     \item pour $x \in [1,2]$
878     \begin{eqnarray*}
879     f_0&=&1\\
880     f'_0&=&f[x_0,x_1]-ho\frac{f''_0}{3}-h_0\frac{f''_1}{6}=8-1\frac{0}{3}-1\frac{\frac{-141}{8}}{6}=\frac{175}{16}\\
881     f''_0&=&0\\
882     f'''_0&=&\frac{f''_1-f''_0}{h_0}=\frac{\frac{-141}{8}-0}{1}=\frac{-141}{8}\\
883     p_0(x)&=&1+\frac{175}{16}(x-1)+\frac{0}{2}(x-1)^2+\frac{-141}{6*8}(x-1)^3
884     \end{eqnarray*}
885     \item pour $x \in [2,4]$
886     \begin{eqnarray*}
887     f_1&=&9\\
888     f'_1&=&f[x_1,x_2]-h1\frac{f''_1}{3}-h_1\frac{f''_2}{6}=\frac{-7}{2}-2\frac{\frac{-141}{8}}{3}-2\frac{\frac{147}{8}}{6}=\frac{17}{8}\\
889     f''_1&=&\frac{-141}{8}\\
890     f'''_1&=&\frac{f''_2-f''_1}{h_1}=\frac{\frac{147}{8}-\frac{-141}{8}}{2}=18\\
891     p_1(x)&=&9+\frac{17}{8}(x-2)+\frac{-141}{2*8}(x-2)^2+\frac{18}{6}(x-2)^3
892     \end{eqnarray*}
893     \item pour $x \in [4,5]$
894     \begin{eqnarray*}
895     f_2&=&2\\
896     f'_2&=&f[x_2,x_3]-h_2\frac{f''_2}{3}-h_2\frac{f''_3}{6}=9-1\frac{\frac{147}{8}}{3}-1\frac{0}{6}=\frac{23}{8}\\
897     f''_2&=&\frac{147}{8}\\
898     f'''_2&=&\frac{f''_3-f''_2}{h_2}=\frac{0-\frac{147}{8}}{1}=\frac{-147}{8}\\
899     p_2(x)&=&2+\frac{23}{8}(x-4)+\frac{147}{2*8}(x-4)^2+\frac{-147}{8*6}(x-4)^3
900     \end{eqnarray*}
901    
902     \end{itemize}
903    
904     \subsection{Les splines paramétrées}
905     \subsubsection{Construction}
906     En CAO, souvent on utilise des splines pour faire passer une courbe par une série de points. Ces courbes ne sont pas de la forme $y=f(x)$ ce qui fait que les méthodes vues ne sont pas directement utilisables.
907     \\Le problème est de faire passer une courbe par les points $(x_0,y_0,z_0),...,(x_n,y_n,z_n)$. Pour cela, nous allons transformer ce problème en un problème paramétrique, la courbe est définie par un paramètre $t$.
908     \\Ainsi les points les points s'écrivent $(x(t_0),y(t_0),z(t_0)),...,(x(t_n),y(t_n),z(t_n))$. On obtient ainsi une courbe paramétrée $C(t)=\overrightarrow{x}[x(t),y(t),z(t)]$
909     \\ On construit une série de paramètre $t$ appelé vecteur noeud ou ``knot'' et on réalise une interpolation dans chacune des directions de l'espace pour déterminer les interpolations de $x(t),y(t),z(t)$.
910     \\ Pour la série $t$, on a une infinité de choix. Les plus courant sont \begin{itemize}
911     \item $t_i=i$.
912     \item $t_0=0$ et $t_i=t_{i-1}+\| \overrightarrow{x_i}-\overrightarrow{x_{i-1}}\|_2$
913     \end{itemize}
914    
915     Exemple : Tracer la courbe qui passe les points $(1,0)$,$(\frac{\sqrt{2}}{2},\frac{\sqrt{2}}{2})$,$(0,1)$,$(\frac{-\sqrt{2}}{2},\frac{\sqrt{2}}{2})$,$(-1,0)$ ,$(\frac{-\sqrt{2}}{2},\frac{-\sqrt{2}}{2})$,$(0.-1)$,$(\frac{\sqrt{2}}{2},\frac{-\sqrt{2}}{2})$ et $(1,0)$.
916     \\
917     \\On construit un vecteur de $t=[0$ $1$ $2$ $3$ $4$ $5$ $6$ $7$ $8]$ et on réalise l'interpolation $x(t)$ et $(y(t)$ pour obtenir la figure suivante
918     \begin{center}
919     \includegraphics[width=12cm,bb=0 0 499 347]{./splineex.jpg}
920     % splineex.jpg: 665x463 pixel, 96dpi, 17.59x12.25 cm, bb=0 0 499 347
921     \end{center}
922    
923     Le résultat montre que le cercle n'est vraiment un cercle parfait.
924     \subsubsection{Exemple de modification des splines cubiques pour les courbes fermées}
925 francois 948 Pour que la courbe précédente paraisse bien lisse au point de départ et au point d'arrivée, il faut utiliser des relations pour fixer le début et la fin de la courbe au lieu de prendre des splines cubiques naturelles.
926 francois 939 Les conditions supplémentaires à imposer sont
927     \begin{eqnarray*}
928     \left \{
929     \begin{array}{l}
930     P'_0(x_0)=P'_{n-1}(x_n)\\
931     P''_0(x_0)=P''_{n-1}(x_n)\\
932     \end{array}
933     \right.
934     \end{eqnarray*}
935     \begin{eqnarray*}
936     \left \{
937     \begin{array}{l}
938     f'_0=f'_{n-1}+h_{n-1}f''_{n-1}+\frac{h^2_{n-1}}{2}f'''_{n-1}\\
939     f''_0=f''_{n-1}+h_{n-1}f'''_{n-1}\\
940     \end{array}
941     \right.
942     \end{eqnarray*}
943     \begin{eqnarray*}
944     \left \{
945     \begin{array}{l}
946 francois 948 f[x_0,x_1]-h_0\frac{f''_0}{3}-h_0\frac{f''_1}{6}=f[x_{n-1},x_n]-h_{n-1}\frac{f''_{n-1}}{3}-h_{n-1}\frac{f''_{n+1}}{6}+h_{n-1}f''_{n-1}+\frac{h^2_{n-1}}{2}\frac{f''_n-f''_{n-1}}{h_{n-1}}\\
947 francois 939 f''_0=f''_{n-1}+h_{n-1}\frac{f''_n-f''_{n-1}}{h_{n-1}}\\
948     \end{array}
949     \right.
950     \end{eqnarray*}
951     \begin{eqnarray*}
952     \left \{
953     \begin{array}{l}
954     h_0\frac{f''_0}{3}+h_0\frac{f''_1}{6}+h_{n-1}\frac{f''_{n-1}}{6}+h_{n-1}\frac{f''_{n}}{3}=f[x_0,x_1]-f[x_{n-1},x_n]\\
955     f''_0-f''_{n}=0\\
956     \end{array}
957     \right.
958     \end{eqnarray*}
959 francois 948 En remplaçant la première et la dernière équations par ces équations dans le système, nous obtenons une courbe parfaitement lisse. Dans ce cas le système n'est plus tridiagonal l'algorithme LU fourni en annexe ne fonctionne plus. Il faut utiliser un algorithme de LU plus général comme celui vu au chapitre précédent.
960 francois 939 Le résultat donne la courbe suivante :
961     \begin{center}
962     \begin{center}
963     \includegraphics[width=12cm,bb=0 0 929 604]{./splineex2.jpg}
964     % splineex2.jpg: 1238x805 pixel, 96dpi, 32.76x21.30 cm, bb=0 0 929 604
965     \end{center}
966 francois 948 \end{center}
967     \begin{encadre}{À retenir}
968     La compréhension de la différence entre l'approximation et l'interpolation est fondamentale. A partir de cette différence, il est nécessaire d'être capable d'approximer ou d'interpoler une série de points de mesure.
969 francois 1034 \end{encadre}