ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/document/GMC1035/interpolation.tex
Revision: 1124
Committed: Fri Sep 1 15:21:57 2023 UTC (23 months, 4 weeks ago) by francois
Content type: application/x-tex
File size: 34941 byte(s)
Log Message:
Mise a jour note de cours GMC1035

File Contents

# Content
1 \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 \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 \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
66
67 \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 \beta_0+35\beta_1=51\\
179 \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 51\\
212 52\\
213 49\\
214 \end{pmatrix}
215 \end{eqnarray*}
216 \begin{eqnarray*}
217 \begin{pmatrix}
218 1&1&1&1&1&1&1&1&1&1\\
219 0&5&10&15&20&25&30&35&40&45\\
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 1&1&1&1&1&1&1&1&1&1\\
240 0&5&10&15&20&25&30&35&40&45\\
241 \end{pmatrix}
242 \begin{pmatrix}
243 55\\
244 60\\
245 58\\
246 54\\
247 55\\
248 60\\
249 54\\
250 51\\
251 52\\
252 49\\
253 \end{pmatrix}
254 \end{eqnarray*}
255 \begin{eqnarray*}
256 \begin{pmatrix}
257 10&225\\
258 225&7125\\
259 \end{pmatrix}
260 \begin{pmatrix}
261 \beta_0\\
262 \beta_1
263 \end{pmatrix}
264 =
265 \begin{pmatrix}
266 548\\
267 11980\\
268 \end{pmatrix}
269 \end{eqnarray*}
270 \begin{eqnarray*}
271 \beta_0=\frac{7125*548-11980*225}{10*7125-225*225}=58.61818181\\
272 \beta_1=\frac{11980*10-225*548}{10*7125-225*225}=-0.169696969696
273 \end{eqnarray*}
274 On retrouve exactement la même droite que précédemment $y=-0.1696969696x+58.6181818181$\\
275 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$.
276 Les calculs précédents deviennent :
277 \begin{eqnarray*}
278 \left \{
279 \begin{array}{l}
280 \beta_0+0\beta_1+0\beta_2=55\\
281 \beta_0+5\beta_1+25\beta_2=60\\
282 \beta_0+10\beta_1+100\beta_2=58\\
283 \beta_0+15\beta_1+225\beta_2=54\\
284 \beta_0+20\beta_1+400\beta_2=55\\
285 \beta_0+25\beta_1+625\beta_2=60\\
286 \beta_0+30\beta_1+900\beta_2=54\\
287 \beta_0+35\beta_1+1225\beta_2=57\\
288 \beta_0+40\beta_1+1600\beta_2=52\\
289 \beta_0+45\beta_1+2025\beta_2=49\\
290 \end{array}
291 \right.
292 \end{eqnarray*}
293 \begin{eqnarray*}
294 \begin{pmatrix}
295 1&0&0\\
296 1&5&25\\
297 1&10&100\\
298 1&15&225\\
299 1&20&400\\
300 1&25&625\\
301 1&30&900\\
302 1&35&1225\\
303 1&40&1600\\
304 1&45&2025\\
305 \end{pmatrix}
306 \begin{pmatrix}
307 \beta_0\\
308 \beta_1\\
309 \beta_2\\
310 \end{pmatrix}
311 =
312 \begin{pmatrix}
313 55\\
314 60\\
315 58\\
316 54\\
317 55\\
318 60\\
319 54\\
320 57\\
321 52\\
322 49\\
323 \end{pmatrix}
324 \end{eqnarray*}
325 \begin{eqnarray*}
326 \begin{pmatrix}
327 1&1&1&1&1&1&1&1&1&1\\
328 0&5&10&15&20&25&30&35&40&45\\
329 0&25&1000&225&400&625&900&1225&1600&2025\\
330 \end{pmatrix}
331 \begin{pmatrix}
332 1&0&0\\
333 1&5&25\\
334 1&10&100\\
335 1&15&225\\
336 1&20&400\\
337 1&25&625\\
338 1&30&900\\
339 1&35&1225\\
340 1&40&1600\\
341 1&45&2025\\
342 \end{pmatrix}
343 \begin{pmatrix}
344 \beta_0\\
345 \beta_1\\
346 \beta_2\\
347 \end{pmatrix}
348 =\\
349 \begin{pmatrix}
350 1&1&1&1&1&1&1&1&1&1\\
351 0&5&10&15&20&25&30&35&40&45\\
352 0&25&1000&225&400&625&900&1225&1600&2025\\
353 \end{pmatrix}
354 \begin{pmatrix}
355 55\\
356 60\\
357 58\\
358 54\\
359 55\\
360 60\\
361 54\\
362 57\\
363 52\\
364 49\\
365 \end{pmatrix}
366 \end{eqnarray*}
367 \begin{eqnarray*}
368 \begin{pmatrix}
369 10 & 245 &7150\\
370 245 & 8325 &261875\\
371 7150 & 261875 &9628750\\
372 \end{pmatrix}
373 \begin{pmatrix}
374 \beta_0\\
375 \beta_1\\
376 \beta_2\\
377 \end{pmatrix}
378 =
379 \begin{pmatrix}
380 548\\
381 13080\\
382 373800
383 \end{pmatrix}
384 \end{eqnarray*}
385 \begin{eqnarray*}
386 \begin{pmatrix}
387 \beta_0\\
388 \beta_1\\
389 \beta_2\\
390 \end{pmatrix}
391 =
392 \begin{pmatrix}
393 57.6540770222\\
394 -0.000126148741\\
395 -0.003987393535\\
396 \end{pmatrix}
397 \end{eqnarray*}
398 La courbe a pour équation $y=57.6540770222-0.000126148741x-0.003987393535x^2$
399 \\[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.
400 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.
401
402
403
404
405
406 \section{Interpolation par un polynôme}
407 L'idée de base est de construire un polynôme d'interpolation (ou de collocation) qui passe par les points donnés.
408 \\
409 Un polynôme de degré $n$ s'écrit
410 \begin{eqnarray*}
411 P_n(x)&=&a_0+a_1x+...+a_nx^n\\
412 avec \quad a_n&\neq&0
413 \end{eqnarray*}
414 $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$.
415 Il existe un seul polynôme de degré $n$ passant par $n+1$ points.
416
417 Démonstration :
418 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$
419 \begin{eqnarray*}
420 d_n(x)=P_{1n}(x)-P_{2n}(x)\\
421 \end{eqnarray*}
422 On calcule ensuite la valeur de $d_n(x)$ pour chaque $n+1$ points d'interpolation $(x_i,y_i)$.
423 \begin{eqnarray*}
424 d_n(x_i)&=&P_{1n}(x_i)-P_{2n}(x_i)\\
425 &=&P_{1n}(x_i)-P_{2n}(x_i)\\
426 &=&y_i-y_i\\
427 &=&0\\
428 \end{eqnarray*}
429 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.
430
431 \subsection{Méthode de la matrice de Vandermonde}
432 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.
433 En écrivant que le point $(x_i,y_i)$ appartient au polynôme on a
434 \begin{eqnarray*}
435 P_n(x_i)=a_0+a_1x_i+...+a_nx_i^n=y_i
436 \end{eqnarray*}
437 et on obtient le système
438 \begin{eqnarray*}
439 \begin{pmatrix}
440 1 & x_0 & ... & x_0^n\\
441 1 & x_1 & ... & x_1^n\\
442 & & \vdots&\\
443 1 & x_n & ... & x_n^n\\
444 \end{pmatrix}
445 \begin{pmatrix}
446 a_0\\
447 a_1\\
448 \vdots\\
449 a_n\\
450 \end{pmatrix}
451 =
452 \begin{pmatrix}
453 y_0\\
454 y_1\\
455 \vdots\\
456 y_n\\
457 \end{pmatrix}
458 \end{eqnarray*}
459 La matrice $\begin{pmatrix}
460 1 & x_0 & ... & x_0^n\\
461 1 & x_1 & ... & x_1^n\\
462 & & \vdots&\\
463 1 & x_n & ... & x_n^n\\
464 \end{pmatrix}
465 $ s'appelle la matrice de Vandermonde.
466 Il suffit de résoudre ce système pour obtenir le polynôme.
467
468 Exemple : Calculer le polynôme d'interpolation qui passent par les points $(0,1)$,$(1,2)$,$(2,9)$ et $(3,28)$.
469 \\Nous avons 4 points, nous devons donc déterminer $P_3(x)$. Dans ce cas le système s'écrit
470 \begin{eqnarray*}
471 \begin{pmatrix}
472 1 & 0 & 0 & 0\\
473 1 & 1 & 1 & 1\\
474 1 & 2 & 4 & 8\\
475 1 & 3 & 9 & 27\\
476 \end{pmatrix}
477 \begin{pmatrix}
478 a_0\\
479 a_1\\
480 a_2\\
481 a_3\\
482 \end{pmatrix}
483 =
484 \begin{pmatrix}
485 1\\
486 2\\
487 9\\
488 28\\
489 \end{pmatrix}
490 \end{eqnarray*}
491 La solution est
492 \begin{eqnarray*}
493 \begin{pmatrix}
494 a_0\\
495 a_1\\
496 a_2\\
497 a_3\\
498 \end{pmatrix}
499 =
500 \begin{pmatrix}
501 1\\
502 0\\
503 0\\
504 1\\
505 \end{pmatrix}
506 \end{eqnarray*}
507 et le polynôme d'interpolation s'écrit $P_3(x)=1+x^3$.
508 \begin{figure}[h]
509
510 \begin{center}
511 \begin{center}
512 \includegraphics[width=12cm,bb=0 0 746 481]{./interpolationex.jpg}
513 % interpolationex.jpg: 995x641 pixel, 96dpi, 26.33x16.96 cm, bb=0 0 746 481
514 \end{center}
515
516
517 \caption{Tracé de l'interpolation des points $(0,1),(1,2),(2,9),(3,28)$}
518 \end{center}
519
520 \end{figure}
521 Cette méthode apparaît correcte pour obtenir le résultat souhaité. Cependant elle a des désavantages majeurs :
522 \begin{itemize}
523 \item Elle nécessite une résolution d'un système linéaire ce qui peut s'avérer coûteux en temps CPU.
524 \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.
525 \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.
526 \end{itemize}
527
528 \subsection{Méthode de Lagrange}
529
530 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.
531 \\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
532 \begin{eqnarray*}
533 L_i(x_i)=1\quad et\quad L_i(x_j)=0\quad pour \quad 0\le i\le n
534 \end{eqnarray*}
535 Cette définition conduit à la définition de $n+1$ polynômes de degré $n$.
536 \\Nous avons alors
537 \begin{eqnarray*}
538 P_n(x)=\sum_{i=0}^ny_iL_i(x)
539 \end{eqnarray*}
540 \\Démonstration
541 \begin{eqnarray*}
542 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
543 \end{eqnarray*}
544
545 Construction des polynômes $L$:
546 \begin{itemize}
547 \item degré 1 : polynôme passant par les point $(x_0,y_0)$ et $(x_1,y_1)$.
548 \begin{eqnarray*}
549 \left.
550 \begin{array}{l}
551 L_0(x_0)=1\\
552 L_0(x_1)=0\\
553 \end{array}
554 \right \}
555 L_0(x)=\frac{x-x_1}{x_0-x_1}\\
556 \left.
557 \begin{array}{l}
558 L_1(x_0)=0\\
559 L_1(x_1)=1\\
560 \end{array}
561 \right \}
562 L_1(x)=\frac{x-x_0}{x_1-x_0}\\
563 P_1(x)=y_0\frac{x-x_1}{x_0-x_1}+y_1\frac{x-x_0}{x_1-x_0}
564 \end{eqnarray*}
565 \item degré 2 : polynôme passant par les point $(x_0,y_0)$, $(x_1,y_1)$ et $(x_2,y_2)$.
566 \begin{eqnarray*}
567 \left.
568 \begin{array}{l}
569 L_0(x_0)=1\\
570 L_0(x_1)=0\\
571 L_0(x_2)=0\\
572 \end{array}
573 \right \}
574 L_0(x)=\frac{(x-x_1)(x-x_2)}{(x_0-x_1)(x_0-x_2)}\\
575 \left.
576 \begin{array}{l}
577 L_1(x_0)=0\\
578 L_1(x_1)=1\\
579 L_1(x_2)=0\\
580 \end{array}
581 \right \}
582 L_1(x)=\frac{(x-x_0)(x-x_2)}{(x_1-x_0)(x_1-x_2)}\\
583 \left.
584 \begin{array}{l}
585 L_2(x_0)=0\\
586 L_2(x_1)=0\\
587 L_2(x_2)=1\\
588 \end{array}
589 \right \}
590 L_2(x)=\frac{(x-x_0)(x-x_1)}{(x_2-x_0)(x_2-x_1)}\\
591 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)}
592 \end{eqnarray*}
593 \item degré $n$
594 \end{itemize}
595
596 \begin{eqnarray*}
597 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)}
598 \end{eqnarray*}
599 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)$.
600 \\On calcule les polynômes $L$ :
601 \begin{eqnarray*}
602 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)\\
603 L_1(x)&=&\frac{(x-0)(x-2)(x-3)}{(1-0)(1-2)(1-3)}=\frac{1}{2}(x^3-5x^2+6x)\\
604 L_2(x)&=&\frac{(x-0)(x-1)(x-3)}{(2-0)(2-1)(2-3)}=-\frac{1}{2}(x^3-4x^2+3x)\\
605 L_3(x)&=&\frac{(x-0)(x-1)(x-2)}{(3-0)(3-1)(3-2)}=\frac{1}{6}(x^3-3x^2+2x)\\
606 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)\\
607 &=&x^3+1
608 \end{eqnarray*}
609 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.
610
611 \subsection{Méthode de Newton}
612 On écrit le polynôme $P_n(x)$ sous la forme
613 \begin{eqnarray*}
614 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})
615 \end{eqnarray*}
616 et on identifie les $a_i$ en calculant successivement $P_n(x_i)=y_i$
617 \begin{eqnarray*}
618 P_n(x_0)&=&a_0=y_0=f(x_0)\\
619 P_n(x_1)&=&a_0+a_1(x_1-x_0)=y_1\\
620 & &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}\\
621 \end{eqnarray*}
622 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]$\\
623 \begin{eqnarray*}
624 P_n(x_2)&=&a_0+a_1(x_2-x_0)+a_2(x_2-x_0)(x_2-x_1)=y_2\\
625 & &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)\\
626 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)\\
627 &=&\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)\\
628 &=&\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)\\
629 &=&\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)\\
630 &=&\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)\\
631 &=&\frac{1}{x_2-x_0}\left(f[x_1,x_2]-f[x_0,x_1]\right)\\
632 \end{eqnarray*}
633 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]$
634
635 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
636 \begin{eqnarray*}
637 a_i=f[x_0,...,x_i]
638 \end{eqnarray*}
639 On évalue le polynôme d'interpolation en construisant la table des différences divisées.\\
640 \begin{tabular}{|r|r|r|r|r|r|}
641 \hline
642 $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]$ \\
643 \hline
644 $x_0$ & $f(x_0)=a_0$ & & & & \\
645 & & $f[x_0,x_1]=a_1$ & & & \\
646 $x_1$ & $f(x_1)$ & & $f[x_0,x_1,x_2]=a_2$ & & \\
647 & & $f[x_1,x_2]$ & & ... & $f[x_1,...,x_n]=a_n$ \\
648 $x_2$ & $f(x_2)$ & & $f[x_1,x_2,x_3]$ & & \\
649 & & $f[x_2,x_3]$ & & & \\
650 $x_3$ & $f(x_3)$ & & & & \\
651
652 \hline
653 \end{tabular}\\
654 \\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 \\
655 \\
656 \begin{tabular}{|r|r|l|l|l|}
657 \hline
658 $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}]$ \\
659 \hline
660 $0$ & $1$ & & & \\
661 & & $\frac{2-1}{1-0}=1 $ & & \\
662 $1$ & $2$ & & $\frac{7-1}{2-0}=3$ & \\
663 & & $\frac{9-2}{2-1}=7$ & &$\frac{6-3}{3-0}=1$ \\
664 $2$ & $9$ & & $\frac{19-7}{3-1}=6$ & \\
665 & & $\frac{28-9}{3-2}=19 $ & & \\
666 $3$ & $28$ & & & \\
667
668 \hline
669 \end{tabular}
670 \\
671 \\On calcule alors le polynôme d'interpolation
672 \begin{eqnarray*}
673 P_3(x)&=&1+1(x-0)+3(x-0)(x-1)+1(x-0)(x-1)(x-2)\\
674 &=&x^3+1\\
675 \end{eqnarray*}
676 on remarque que
677 \begin{eqnarray*}
678 P_2(x)&=&1+1(x-0)+3(x-0)(x-1)\\
679 &=&3x^2-2x+1\\
680 \end{eqnarray*}
681 ou que
682 \begin{eqnarray*}
683 P_3(x)&=&P_2(x)+1(x-0)(x-1)(x-2)\\
684 \end{eqnarray*}
685 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.
686
687
688 \subsection{Erreur d'interpolation}
689 Soit $E_n(x)$ l'erreur d'interpolation alors
690 \begin{eqnarray*}
691 E_n(x)=f(x)-P_n(x)
692 \end{eqnarray*}
693 Puisque on fait de l'interpolation, on a
694 \begin{eqnarray*}
695 E_n(x_i)=0
696 \end{eqnarray*}
697 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 :
698 \\ Il existe $\zeta (x)\in ]x_0,x_n[$ tel que
699 \begin{eqnarray*}
700 E_n(x)=\frac{f^{(n+1)}\zeta (x)}{(n+1)!}(x-x_0)...(x-x_n)
701 \end{eqnarray*}
702
703 \begin{itemize}
704 \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.
705 \item L'erreur est nulle aux points d'interpolation.
706 \item L'erreur est petite autour des points d'interpolation
707 \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.
708 \end{itemize}
709
710
711
712
713 \section{Interpolation par des polynômes par morceau}
714 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.
715 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.
716 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$.
717 \subsection{Les splines cubiques}
718 Soit $n+1$ points d'interpolation noté $(x_i,y_i=f(x_i)=f_i)$ pour $0\le i \le n$.
719 \\Pour les $n$ intervalles $[x_i,x_{i+1}]$ avec $0\le i \le n-1$ on pose
720 \begin{eqnarray*}
721 h_i&=&x_{i+1}-x_i\\
722 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\\
723 \end{eqnarray*}
724 On a donc $4n$ coefficients à déterminer : $f_i,f'_i,f''_i,f'''_i$.
725 \\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.
726 Cette nouvelle inconnue peut s'exprimer en fonction des autres inconnues :
727 \begin{eqnarray}
728 \label{eqnspline}
729 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}
730 \end{eqnarray}
731 Nous allons écrire maintenant les différentes conditions de régularité de l'interpolation :
732 \begin{itemize}
733 \item Nous faisons une interpolation : $p_i(x)=f(x_i)=f_i$ pour $0\le i \le n$
734 \item Continuité de la dérivée seconde pour les $n-1$ points intérieurs
735 \begin{eqnarray*}
736 p''_{i+1}(x_{i+1})&=&p''_{i}(x_{i+1}) \quad 0\le i \le n-2\\
737 f''_{i+1}&=&f''_i+f'''_i(x_{i+1}-x_i)=f''_i+f'''_ih_i\\
738 f'''_i&=&\frac{f''_{i+1}-f''_i}{h_i}
739 \end{eqnarray*}
740 En ajoutant la relation précédente \eqref{eqnspline} il vient
741 \begin{eqnarray*}
742 f'''_i&=&\frac{f''_{i+1}-f''_i}{h_i} \quad 0\le i \le n-1
743 \end{eqnarray*}
744 \item Continuité de la fonction pour les $n-1$ points intérieurs et le point final
745 \begin{eqnarray*}
746 p_{i+1}(x_{i+1})&=&f(x_{i+1})=f_{i+1} \quad 0\le i \le n-1\\
747 &=&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\\
748 &=&f_i+f'_ih_i+\frac{f''_i}{2}h_i^2+\frac{f'''_i}{6}h_i^3 \\
749 h_if'_i&=&f_{i+1}-f_i-\frac{f''_i}{2}h_i^2-\frac{f'''_i}{6}h_i^3 \\
750 f'_i&=&\frac{f_{i+1}-f_i}{h_i}-\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{f'''_i}{6}h_i^2 \\
752 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 \\
753 f'_i&=&f[x_i.x_{i+1}]-\frac{f''_i}{3}h_i-\frac{f''_{i+1}}{6}h_i \\
754 \end{eqnarray*}
755 \item Continuité de la dérivée première pour les $n-1$ points intérieurs
756 \begin{eqnarray*}
757 p'_i(x_{i+1})&=& p'_{i+1}(x_{i+1}) \quad 0\le i \le n-2\\
758 f'_i+(x_{i+1}-x_i)f''_i+(x_{i+1}-x_i)^2\frac{f'''_i}{2}&=&f'_{i+1}\\
759 f'_i+h_i f''_i+h_i^2\frac{f'''_i}{2}&=&f'_{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{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}\\
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^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}\\
762 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}\\
763 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}]\\
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}&=&\frac{6f[x_{i+1},x_{i+2}]-6f[x_{i},x_{i+1}]}{h_i+h_{i+1}}\\
765 \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}]\\
766 \end{eqnarray*}
767 \end{itemize}
768 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$.
769 \\Si $a=b=0$ on parle de spline cubique naturelle.
770 \\ On aboutit alors au système suivant \\
771 \begin{encadre2}
772 \begin{eqnarray*}
773 \begin{pmatrix}
774 1 & 0 & 0 & 0 & ... & 0\\
775 \frac{h_0}{h_0+h_1} & 2 & \frac{h_1}{h_0+h_1} & 0 & ... & 0\\
776 0 &\frac{h_1}{h_1+h_2} & 2 & \frac{h_2}{h_1+h_2} & ... & 0\\
777 & & & &\vdots & &\\
778 0 &0 & 0 & 0 & ... & \frac{h_{n-1}}{h_{n-2}+h_{n-1}}\\
779 0 & 0 & 0 & 0 & ... & 1\\
780 \end{pmatrix}
781 \begin{pmatrix}
782 f''_0\\
783 f''_1\\
784 f''_2\\
785 \vdots\\
786 f''_{n-1}\\
787 f''_n\\
788 \end{pmatrix}
789 =
790 \begin{pmatrix}
791 a\\
792 6f[x_0,x_1,x_2]\\
793 6f[x_1,x_2,x_3]\\
794 \vdots\\
795 6f[x_{n-2},x_{n-1},x_n]\\
796 b\\
797 \end{pmatrix}
798 \end{eqnarray*}
799
800 Pour finir les $f''_i$ sont solutions de ce système tridiagonal avec pivot toujours différent de $0$ et les autres inconnues sont
801 \begin{eqnarray*}
802 f_i&=&f(x_i)=y_i\\
803 f'_i&=&f[x_i.x_{i+1}]-\frac{f''_i}{3}h_i-\frac{f''_{i+1}}{6}h_i\\
804 f'''_i&=&\frac{f''_{i+1}-f''_i}{h_i}\\
805 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\\
806 avec\quad 0 &\le& i \le n-1
807 \end{eqnarray*}
808 \end{encadre2}
809 \\
810 \\
811 Exemple : interpolation d'une spline cubique naturelle pour les points $(1,1),(2,9),(4,2),(5,11)$
812 \\
813 \\
814 On construit d'abord la table des différences divisées \\ \\
815 \begin{tabular}{|r|r|l|l|l|}
816 \hline
817 $x_i$ & $f(x_i)$ & $f[x_i,x_{i+1}]$ & $f[x_i,x_{i+1},x_{i+2}]$ & $h_i$ \\
818 \hline
819 $1$ & $1$ & & & $1$ \\
820 & & $\frac{9-1}{2-1}=8 $ & & \\
821 $2$ & $9$ & & $\frac{\frac{-7}{2}-8}{4-1}=\frac{-23}{6}$ & $2$ \\
822 & & $\frac{2-9}{4-2}=\frac{-7}{2}$ & & \\
823 $4$ & $2$ & & $\frac{9-\frac{-7}{2}}{5-2}=\frac{25}{6}$ & $1$ \\
824 & & $\frac{11-2}{5-4}=9 $ & & \\
825 $5$ & $11$ & & & \\
826
827 \hline
828 \end{tabular}
829 \\
830 \\
831 On peut ensuite écrire le système :
832 \\
833 \begin{eqnarray*}
834 \begin{pmatrix}
835 1 & 0 & 0 & 0 \\
836 \frac{1}{3} & 2 & \frac{2}{3} & 0 & \\
837 0 &\frac{2}{3} & 2 & \frac{1}{3} \\
838 0 & 0 & 0 & 1\\
839 \end{pmatrix}
840 \begin{pmatrix}
841 f''_0\\
842 f''_1\\
843 f''_2\\
844 f''_3\\
845 \end{pmatrix}
846 =
847 \begin{pmatrix}
848 0\\
849 6\frac{-23}{6}\\
850 6\frac{25}{6}\\
851 0\\
852 \end{pmatrix}
853 =
854 \begin{pmatrix}
855 0\\
856 -23\\
857 25\\
858 0\\
859 \end{pmatrix}
860 \end{eqnarray*}
861 La solution de ce système est
862 \begin{eqnarray*}
863 \begin{pmatrix}
864 f''_0\\
865 f''_1\\
866 f''_2\\
867 f''_3\\
868 \end{pmatrix}
869 =
870 \begin{pmatrix}
871 0\\
872 \frac{-141}{8}\\
873 \frac{147}{8}\\
874 0\\
875 \end{pmatrix}
876 \end{eqnarray*}
877 L'interpolation est donc
878 \begin{itemize}
879 \item pour $x \in [1,2]$
880 \begin{eqnarray*}
881 f_0&=&1\\
882 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}\\
883 f''_0&=&0\\
884 f'''_0&=&\frac{f''_1-f''_0}{h_0}=\frac{\frac{-141}{8}-0}{1}=\frac{-141}{8}\\
885 p_0(x)&=&1+\frac{175}{16}(x-1)+\frac{0}{2}(x-1)^2+\frac{-141}{6*8}(x-1)^3
886 \end{eqnarray*}
887 \item pour $x \in [2,4]$
888 \begin{eqnarray*}
889 f_1&=&9\\
890 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}\\
891 f''_1&=&\frac{-141}{8}\\
892 f'''_1&=&\frac{f''_2-f''_1}{h_1}=\frac{\frac{147}{8}-\frac{-141}{8}}{2}=18\\
893 p_1(x)&=&9+\frac{17}{8}(x-2)+\frac{-141}{2*8}(x-2)^2+\frac{18}{6}(x-2)^3
894 \end{eqnarray*}
895 \item pour $x \in [4,5]$
896 \begin{eqnarray*}
897 f_2&=&2\\
898 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}\\
899 f''_2&=&\frac{147}{8}\\
900 f'''_2&=&\frac{f''_3-f''_2}{h_2}=\frac{0-\frac{147}{8}}{1}=\frac{-147}{8}\\
901 p_2(x)&=&2+\frac{23}{8}(x-4)+\frac{147}{2*8}(x-4)^2+\frac{-147}{8*6}(x-4)^3
902 \end{eqnarray*}
903
904 \end{itemize}
905
906 \subsection{Les splines paramétrées}
907 \subsubsection{Construction}
908 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.
909 \\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$.
910 \\Ainsi 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)]$
911 \\ 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)$.
912 \\ Pour la série $t$, on a une infinité de choix. Les plus courant sont \begin{itemize}
913 \item $t_i=i$.
914 \item $t_0=0$ et $t_i=t_{i-1}+\| \overrightarrow{x_i}-\overrightarrow{x_{i-1}}\|_2$
915 \end{itemize}
916
917 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)$.
918 \\
919 \\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
920 \begin{center}
921 \includegraphics[width=12cm,bb=0 0 499 347]{./splineex.jpg}
922 % splineex.jpg: 665x463 pixel, 96dpi, 17.59x12.25 cm, bb=0 0 499 347
923 \end{center}
924
925 Le résultat montre que le cercle n'est vraiment un cercle parfait.
926 \subsubsection{Exemple de modification des splines cubiques pour les courbes fermées}
927 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.
928 Les conditions supplémentaires à imposer sont
929 \begin{eqnarray*}
930 \left \{
931 \begin{array}{l}
932 P'_0(x_0)=P'_{n-1}(x_n)\\
933 P''_0(x_0)=P''_{n-1}(x_n)\\
934 \end{array}
935 \right.
936 \end{eqnarray*}
937 \begin{eqnarray*}
938 \left \{
939 \begin{array}{l}
940 f'_0=f'_{n-1}+h_{n-1}f''_{n-1}+\frac{h^2_{n-1}}{2}f'''_{n-1}\\
941 f''_0=f''_{n-1}+h_{n-1}f'''_{n-1}\\
942 \end{array}
943 \right.
944 \end{eqnarray*}
945 \begin{eqnarray*}
946 \left \{
947 \begin{array}{l}
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}}\\
949 f''_0=f''_{n-1}+h_{n-1}\frac{f''_n-f''_{n-1}}{h_{n-1}}\\
950 \end{array}
951 \right.
952 \end{eqnarray*}
953 \begin{eqnarray*}
954 \left \{
955 \begin{array}{l}
956 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]\\
957 f''_0-f''_{n}=0\\
958 \end{array}
959 \right.
960 \end{eqnarray*}
961 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.
962 Le résultat donne la courbe suivante :
963 \begin{center}
964 \begin{center}
965 \includegraphics[width=12cm,bb=0 0 929 604]{./splineex2.jpg}
966 % splineex2.jpg: 1238x805 pixel, 96dpi, 32.76x21.30 cm, bb=0 0 929 604
967 \end{center}
968 \end{center}
969 \begin{encadre}{À retenir}
970 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.
971 \end{encadre}
972 \\[1cm]
973 \begin{encadre}{Exercices}
974 Exercices 1 à 8 pages 291-292 du livre ($5^{ème}$ edition)\\
975 Exercice 13 page 293 du livre ($5^{ème}$ edition)\\
976 Exercice 26 page 296 du livre ($5^{ème}$ edition)\\
977 \end{encadre}