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

# 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 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 51\\
251 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 \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 & &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 &=&\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 \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 \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 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 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 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 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 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 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 \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 \end{encadre}