INTERPOLARE Se dau punctele P 0, P 1,..., P n in plan sau in spatiu, numite noduri si avand vectorii de pozitie r 0, r 1,..., r n. Problemă. Să se găsească o curbă (dintr-o anumită familie) care să treacă prin punctele date in ordinea precizată. Observaţie. Evident că se preferă curbe cât mai simple şi având proprietăţi cât mai bune. Un bun candidat este clasa funcţiilor polinomiale. De ce? Polinoame Lagrange. Fie r i = (x i, y i ). Un polinom (funcţie polinomială) de grad arbitrar k se scrie Condiţia de interpolare se scrie L(x) = a 0 + a 1 x +... + a k x k. (1) L(x i ) = y i, i = 0, 1,..., n. Prin urmare alegem k = n şi astfel obţinem un sistem de (n + 1) ecuaţii liniare cu n + 1 necunoscute (coeficienţii polinomului). Se obţine soluţie unică. (Avem un sistem Cramer, determinantul este de tip Vandermonde.) Acest polinom se numeşte polinomul Lagrange corespunzător problemei propuse. Definim polinoamele Lagrange de bază prin condiţiile (2) L i (x j ) = δ ij, i, j = 0,..., n. Prin urmare putem scrie Se arată că (3) L i (x) = Inconveniente: L(x) = y i L i (x). (x x 0 ) (x xi ) (x x n ) (x i x 0 ) (x i x i 1 )(x i x i+1 ) (x i x n ) = n j=0,j i x x j x i x j. gradul devine foarte mare pentru un număr mare de puncte; precizia poate fi mica, aparând oscilaţii mari faţă de funcţia iniţială care trebuie aproximată); 1
modificarea unei coordonate intr-un nod (datorată unei măsurători greşite, de exemplu) are ca efect modificarea globală a polinomului; (nu pot face o reparaţie locală ). Exerciţiu. Să se studieze interpolarea Lagrange pentru n 3 puncte coliniare. Idee de demonstraţie: Se demonstrează următoarele identităţi: L i (x) = 1, x i L i (x) = x, pentru orice x. Problema gradului mare al polinomului Lagrange ar putea fi rezolvată reconsiderând problema interpolării pe porţiuni; secvenţa de noduri se divide in sub-secvenţe mai mici şi se consideră polinoamele Lagrange pe aceste sub-secvenţe. Apare însă o altă problemă şi anume cea a racordării arcelor succesive in punctele de joncţiune. De exemplu, se dau nodurile P 0,..., P 6. Se consideră sub-secvenţele: (I) P 0, P 1, P 2, P 3 care conduce la polinomul L(x), de grad 3; (II) P 3, P 4, P 5, P 6 care conduce la polinomul L(x), de grad 3. Evident avem racordare (i.e. continuitate) deoarece L(x 3 ) = y 3 = L(x 3 ). Totuşi, un calcul simplu ne arată că nu avem diferenţiabilitate nici măcar de clasă C 1 in x 3. Interpolare Hermite. Pentru a avea control şi asupra valorilor derivatelor (d.p.d.v. cinematic controlăm vitezele) pornim cu cele (n+1) puncte (noduri) insă precizăm şi valorile vitezelor (adică a derivatelor) în punctele corespunzătoare. Cu alte cuvinte considerăm datele iniţiale P 0 (x 0, y 0 ; v 0 ), P 1 (x 1, y 1 ; v 1 ),..., P 0 (x n, y n ; v n ). Scopul este de a găsi funcţii polinomiale H cu proprietăţile H(x i ) = y i, H (x i ) = v i, i = 0,..., n. Întrucât avem 2(n + 1) condiţii, polinomul H are gradul 2n + 1. Observaţie: Se rezolvă astfel problema racordării (avem diferenţiabilitate şi în punctele de joncţiune) însă gradul s-a mărit considerabil. La fel ca în cazul interpolării Lagrange, determinăm polinoamele Hermite de bază, notate cu H i şi Hi, i = 0,..., n caracterizate de condiţiile (4) H i (x j ) = δ ij, H i(x j ) = 0, Hi (x j ) = 0, H i (x j ) = δ ij, i, j = 0,..., n. 2
Polinomul de interpolare Hermite este determinat de relaţia (5) H(x) = y i H i (x) + v i Hi (x). Să analizăm ecuaţiile (3): Fixăm i. Pentru j i avem H i (x j ) = 0 şi H i(x j ) = 0. Prin urmare (x x j ) 2 divide H i (x) pentru orice j i. Rezultă că (x x j ) 2 divide H i (x). j i Dar polinomul j i(x x j ) este, până la o constantă multiplicativă, polinomul Lagrange de bază L i (x). Prin urmare H i (x) = (polinom de grad 1) L 2 i (x), i = 0,..., n. Analog se arată că Obţinem imediat că H i (x) = (polinom de grad 1) L 2 i (x), i = 0,..., n. (6) { Hi (x) = [1 2L i(x i )(x x i )] L 2 i (x) H i (x) = (x x i )L 2 i (x), i = 0,..., n. Pentru n = 1 avem: H 0 (x) = (3x 0 x 1 2x)(x x 1 ) 2 (x 0 x 1 ) 3 H 1 (x) = (3x 1 x 0 2x)(x x 0 ) 2 (x 1 x 0 ) 3 H 0 (x) = (x x 0)(x x 1 ) 2 (x 0 x 1 ) 2 H 1 (x) = (x x 1)(x x 0 ) 2 (x 1 x 0 ) 2 Problemă: (a) Fie funcţia f : [1, 9] (0, ), f(x) = x. Să se reprezinte grafic funcţia f. (b) Se consideră apoi valorile: x 0 = 1, x 1 = 4, x 2 = 9, y 0 = 1, y 1 = 2, y 2 = 3, v 0 = 1/2, v 1 = 1/4 şi v 2 = 1/6. Să se determine polinomul de interpolare Hermite (n = 2) pentru valorile considerate. Să se reprezinte în acelaşi sistem de coordonate funcţia polinomială corespunzătoare. (c) Pe intervalele [x 0, x 1 ], respectiv [x 1, x 2 ] să se determine polinoamele Hermite (n = 1) şi să se reprezinte grafic funcţiile polinomiale corespunzătoare. Să se compare cele trei grafice. 3
Curbe parametrizate Ferguson Să considerăm următoarea problemă: Fie P 0 şi P 1 două puncte în plan sau în spaţiu. Fie r 0 şi r 1 vectorii de poziţie respectiv ai celor două puncte, iar v 0 şi v 1 vectorii vitezelor în punctele iniţial, respectiv final (vectorii tangenţi în capete). Să se determine o curbă polinomială de gradul al treilea (cubică) care verifică Curba r, dacă există, are expresia unde a 0, a 1, a 2 şi a 3 sunt vectori constanţi. Condiţiile solicitate pentru r se rescriu: r : [0, 1] E 2 sau E 3, r(0) = r 0, r(1) = r 1, dr du (0) = v 0, dr du (1) = v 1. r(u) = a + 0 + u a 1 + u 2 a 2 + u 3 a 3, u [0, 1], a 0 = r 0 a 0 + a 1 + a 2 + a 3 = r 1 Deducem imediat că a 1 = v 0 a 1 + 2a 2 + 3a 3 = v 1. r(u) = (1 3u 2 + 2u 3 ) r 0 + (3u 2 2u 3 ) r 1 + (u 2u 2 + u 3 ) v 0 + (u 3 u 2 ) v 1. Să observăm polinoamele Hermite de bază pentru n = 1, u 0 = 0 şi u 1 = 1. Mai precis avem r(u) = H 0 (u) r 0 + H 1 (u) r 1 + H 0 (u) v 0 + H 1 (u) v 1. Observaţie: Faptul că am considerat drept mulţime de definiţie a curbei r intervalul [0, 1] nu reprezintă o restrângere a generalităţii. Reamintim că avem întotdeauna o bijecţie afină de la un interval oarecare [a, b] la intervalul [0, 1], dată de ϕ : [a, b] [0, 1], ϕ(x) = x a b a, ϕ 1 : [0, 1] [a, b], ϕ 1 (u) = (1 u)a + u b. 4
Avem şi o scriere matricială pentru curba r, anume r(u) = UCR, unde U = (1 u u 2 u 3 ) 1 0 0 0 C = 0 0 1 0 3 3 2 1 2 2 1 1 R = r 0 r 1 v 0 v 1. 5