Interpolarea funcţiilor.

Σχετικά έγγραφα
Metode de interpolare bazate pe diferenţe divizate

(a) se numeşte derivata parţială a funcţiei f în raport cu variabila x i în punctul a.

Metode iterative pentru probleme neliniare - contractii

Curs 10 Funcţii reale de mai multe variabile reale. Limite şi continuitate.

Curs 14 Funcţii implicite. Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi"

Integrala nedefinită (primitive)

a n (ζ z 0 ) n. n=1 se numeste partea principala iar seria a n (z z 0 ) n se numeste partea

III. Serii absolut convergente. Serii semiconvergente. ii) semiconvergentă dacă este convergentă iar seria modulelor divergentă.

5. FUNCŢII IMPLICITE. EXTREME CONDIŢIONATE.

Seminariile Capitolul X. Integrale Curbilinii: Serii Laurent şi Teorema Reziduurilor

Sisteme diferenţiale liniare de ordinul 1

Curs 1 Şiruri de numere reale

Curs 4 Serii de numere reale

Planul determinat de normală şi un punct Ecuaţia generală Plane paralele Unghi diedru Planul determinat de 3 puncte necoliniare

V.7. Condiţii necesare de optimalitate cazul funcţiilor diferenţiabile

Integrarea numerică. Prof.dr.ing. Gabriela Ciuprina. Universitatea "Politehnica" Bucureşti, Facultatea de Inginerie Electrică

SERII NUMERICE. Definiţia 3.1. Fie (a n ) n n0 (n 0 IN) un şir de numere reale şi (s n ) n n0

Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor

SEMINAR 14. Funcţii de mai multe variabile (continuare) ( = 1 z(x,y) x = 0. x = f. x + f. y = f. = x. = 1 y. y = x ( y = = 0

INTERPOLARE. y i L i (x). L(x) = i=0

Metode Runge-Kutta. 18 ianuarie Probleme scalare, pas constant. Dorim să aproximăm soluţia problemei Cauchy

Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor X) functia f 1

Rezolvarea ecuaţiilor şi sistemelor de ecuaţii diferenţiale ordinare. Cuprins. Prof.dr.ing. Gabriela Ciuprina

Definiţia generală Cazul 1. Elipsa şi hiperbola Cercul Cazul 2. Parabola Reprezentari parametrice ale conicelor Tangente la conice

Componente şi Circuite Electronice Pasive. Laborator 3. Divizorul de tensiune. Divizorul de curent

Conice. Lect. dr. Constantin-Cosmin Todea. U.T. Cluj-Napoca

R R, f ( x) = x 7x+ 6. Determinați distanța dintre punctele de. B=, unde x și y sunt numere reale.

Laborator 6. Integrarea ecuaţiilor diferenţiale

DISTANŢA DINTRE DOUĂ DREPTE NECOPLANARE

Teme de implementare in Matlab pentru Laboratorul de Metode Numerice

Seminar 5 Analiza stabilității sistemelor liniare

Lectia VI Structura de spatiu an E 3. Dreapta si planul ca subspatii ane

Subiecte Clasa a VIII-a

Toate subiectele sunt obligatorii. Timpul de lucru efectiv este de 3 ore. Se acordă din oficiu 10 puncte. SUBIECTUL I.

Criptosisteme cu cheie publică III

Laborator 11. Mulţimi Julia. Temă

Analiza în curent continuu a schemelor electronice Eugenie Posdărăscu - DCE SEM 1 electronica.geniu.ro

Integrarea numerică. Prof.dr.ing. Gabriela Ciuprina. Universitatea "Politehnica" Bucureşti, Facultatea de Inginerie Electrică

z a + c 0 + c 1 (z a)

Interpolare. O metodă de aproximare. Universitatea,,Babeş-Bolyai. Martie 2011

COLEGIUL NATIONAL CONSTANTIN CARABELLA TARGOVISTE. CONCURSUL JUDETEAN DE MATEMATICA CEZAR IVANESCU Editia a VI-a 26 februarie 2005.

Curs 2 Şiruri de numere reale

Concurs MATE-INFO UBB, 1 aprilie 2017 Proba scrisă la MATEMATICĂ

Profesor Blaga Mirela-Gabriela DREAPTA

Orice izometrie f : (X, d 1 ) (Y, d 2 ) este un homeomorfism. (Y = f(x)).

Erori si incertitudini de măsurare. Modele matematice Instrument: proiectare, fabricaţie, Interacţiune măsurand instrument:

Capitolul 4 PROPRIETĂŢI TOPOLOGICE ŞI DE NUMĂRARE ALE LUI R. 4.1 Proprietăţi topologice ale lui R Puncte de acumulare

MARCAREA REZISTOARELOR

5.5. REZOLVAREA CIRCUITELOR CU TRANZISTOARE BIPOLARE

riptografie şi Securitate

Capitolul 3. Serii Fourier. a unei funcţii periodice de perioadă Dezvoltarea în serie Fourier

Noţiuni introductive

ELEMENTE DE GEOMETRIA COMPUTAŢIONALĂ A CURBELOR Interpolare cu ajutorul funcţiilor polinomiale

Asupra unei inegalităţi date la barajul OBMJ 2006

Capitolul 4. Integrale improprii Integrale cu limite de integrare infinite

Spatii liniare. Exemple Subspaţiu liniar Acoperire (înfăşurătoare) liniară. Mulţime infinită liniar independentă

Functii Breviar teoretic 8 ianuarie ianuarie 2011

Problema a II - a (10 puncte) Diferite circuite electrice

2.1 Sfera. (EGS) ecuaţie care poartă denumirea de ecuaţia generală asferei. (EGS) reprezintă osferă cu centrul în punctul. 2 + p 2

CURS VII-IX. Capitolul IV: Funcţii derivabile. Derivate şi diferenţiale. 1 Derivata unei funcţii. Interpretarea geometrică.


EDITURA PARALELA 45 MATEMATICĂ DE EXCELENŢĂ. Clasa a X-a Ediţia a II-a, revizuită. pentru concursuri, olimpiade şi centre de excelenţă

5.4. MULTIPLEXOARE A 0 A 1 A 2

2 Transformări liniare între spaţii finit dimensionale

Ecuaţia generală Probleme de tangenţă Sfera prin 4 puncte necoplanare. Elipsoidul Hiperboloizi Paraboloizi Conul Cilindrul. 1 Sfera.

Laborator 1: INTRODUCERE ÎN ALGORITMI. Întocmit de: Claudia Pârloagă. Îndrumător: Asist. Drd. Gabriel Danciu

CURS XI XII SINTEZĂ. 1 Algebra vectorială a vectorilor liberi


I. Noţiuni introductive

T R A I A N ( ) Trigonometrie. \ kπ; k. este periodică (perioada principală T * =π ), impară, nemărginită.

f(x) = l 0. Atunci f are local semnul lui l, adică, U 0 V(x 0 ) astfel încât sgnf(x) = sgnl, x U 0 D\{x 0 }. < f(x) < l +

* K. toate K. circuitului. portile. Considerând această sumă pentru toate rezistoarele 2. = sl I K I K. toate rez. Pentru o bobină: U * toate I K K 1

Geometrie computationala 2. Preliminarii geometrice

Aplicaţii ale principiului I al termodinamicii la gazul ideal

Ecuatii exponentiale. Ecuatia ce contine variabila necunoscuta la exponentul puterii se numeste ecuatie exponentiala. a x = b, (1)

2. Circuite logice 2.4. Decodoare. Multiplexoare. Copyright Paul GASNER

Examen AG. Student:... Grupa:... ianuarie 2011

Cap.2. Sisteme de ecuaţii algebrice liniare - metode directe (II)

CURS 11: ALGEBRĂ Spaţii liniare euclidiene. Produs scalar real. Spaţiu euclidian. Produs scalar complex. Spaţiu unitar. Noţiunea de normă.

TEMA 9: FUNCȚII DE MAI MULTE VARIABILE. Obiective:

RĂSPUNS Modulul de rezistenţă este o caracteristică geometrică a secţiunii transversale, scrisă faţă de una dintre axele de inerţie principale:,

Stabilizator cu diodă Zener

Metodele numerice de integrare se clasifică după tipul funcţiei de integrat şi valoarea limitelor de integrare.

2. Sisteme de forţe concurente...1 Cuprins...1 Introducere Aspecte teoretice Aplicaţii rezolvate...3

14. Grinzi cu zăbrele Metoda secţiunilor...1 Cuprins...1 Introducere Aspecte teoretice Aplicaţii rezolvate...3

1. Completati caseta, astfel incat propozitia obtinuta sa fie adevarata lg 4 =.

CURS 11. Rădăcină unei ecuatii: Cum se defineste o rădăcină aproximativă?

COPYRIGHT c 1997, Editura Tehnică Toate drepturile asupra ediţiei tipărite sunt rezervate editurii.

Esalonul Redus pe Linii (ERL). Subspatii.

a. 11 % b. 12 % c. 13 % d. 14 %

1.3 Baza a unui spaţiu vectorial. Dimensiune

8 Intervale de încredere

Aproximarea funcţiilor prin metoda celor mai mici pătrate

1.3. Erori în calculele numerice

1.7. AMPLIFICATOARE DE PUTERE ÎN CLASA A ŞI AB

J F (ρ, ϕ, θ) = cos ϕ ρ sin ϕ 0. Teoremă (a diferenţiabilităţii compuse) (legea lanţului) Fie F : D deschis

Examen AG. Student:... Grupa: ianuarie 2016

V O. = v I v stabilizator

Subiecte Clasa a VII-a

Analiza funcționării și proiectarea unui stabilizator de tensiune continuă realizat cu o diodă Zener

Transcript:

Interpolarea funcţiilor.. Prof.dr.ing. Universitatea "Politehnica" Bucureşti, Facultatea de Inginerie Electrică Suport didactic pentru disciplina Metode numerice, 2017-2018 1/52

Cuprins Introducere 1 Introducere Preliminarii Formularea problemei interpolării 2 3 2/52

Preliminarii Introducere Preliminarii Formularea problemei interpolării Scrierea formală a unei probleme y = f(x), (1) x - datele problemei (parametri independenţi); y - mărimile de interes ce se doresc a fi estimate. De exemplu, f poate reprezenta: un proces de măsurare a mărimilor y pentru o anumită stare complet caracterizată de x; un program software complicat, capabil să analizeze configuraţia caracterizată complet de datele x şi să calculeze printr-un algoritm de postprocesare mărimile y. 3/52

Preliminarii Introducere Preliminarii Formularea problemei interpolării Formularea problemei (neriguros) Se dă o funcţie reprezentată prin date: (x k, y k ), k = 0,...,n, unde y k = f(x k ). Se doreşte găsirea unei expresii analitice pentru o funcţie g care să aproximeze aceste date adică g(x k ) y k sau chiar g(x k ) = y k. Interpolare setului de date: g trece prin punctele mulţimii de date: g(x k ) = y k Aproximarea (regresia) setului de date = g trece printre punctele mulţimii de date: g(x k ) y k 4/52

Preliminarii Introducere Preliminarii Formularea problemei interpolării Observaţii: 1 x k se numeşte şi reţea (grid) de discretizare. 2 Interpolarea/aproximarea este utilă şi dacă funcţia este reprezentată prin cod = există un software capabil să calculeze f(x) pentru orice x dorit, dacă efortul de evaluare al lui f este mare. 5/52

Preliminarii Introducere Preliminarii Formularea problemei interpolării Exemple: interpolare 1 Date 0.1 Date Interpolare Interpolare 0.8 0 0.6 0.4-0.1 0.2-0.2 0-0.3-0.2-0.4-2 0 2 4 6 8 10 12 14-0.4 1 2 3 4 5 6 7 8 9 10 Interpolarea unui set de date. În cazul în care setul de date are foarte multe valori, interpolarea poate genera oscilaţii nedorite. 6/52

Preliminarii Introducere Preliminarii Formularea problemei interpolării Exemple: interpolare vs. aproximare Date 0.1 Interpolare 0.1 Date Aproximare 0 0-0.1-0.1-0.2-0.2-0.3-0.3-0.4 1 2 3 4 5 6 7 8 9 10-0.4 1 2 3 4 5 6 7 8 9 10 Avantajul aproximării: se diminuează erorile de măsurare din rezultatul final. 7/52

Precizări f :?? Introducere Preliminarii Formularea problemei interpolării Cazul scalar unidimensional (1D): f, g : [a, b] IR. Cazul vectorial unidimensional f : [a, b] IR m, m > 1 se reduce la m interpolări/aproximări 1D. Cazul scalar bidimensional (2D) f, g : [a, b] [c, d] IR Cazul scalar n-dimensional (nd) f, g : D IR n IR. Cazul cel mai general f, g : D IR n IR m se reduce la m situaţii de tip nd. În cele ce urmează vom pp. cazul 1D. 8/52

Distanţa dintre două funcţii Preliminarii Formularea problemei interpolării Se doreşte ca g : [a, b] IR să aproximeze/interpoleze cât mai bine funcţia f : [a, b] IR. distanţa dintre cele două funcţii d(f, g) = f g (2) să fie cât mai mică. Există mai multe procedee de definire a normei. 9/52

Distanţa dintre două funcţii Preliminarii Formularea problemei interpolării Procedee de definire a normei. Aria dintre graficele celor două funcţii d 1 (f, g) = 1 b a b a f(x) g(x) dx. (3) Dezavantaj: local, pot exista diferenţe foarte mari între f sî g. Abaterea medie pătratică 1 d 2 (f, g) = b a Acelaşi dezavantaj. b a (f(x) g(x)) 2 dx. (4) 10/52

Distanţa dintre două funcţii Preliminarii Formularea problemei interpolării Procedee de definire a normei. Abaterea maximă dintre cele două funcţii d 3 (f, g) = max f(x) g(x). (5) x [a,b] Din pdv al acurateţii - este cea mai avantajoasă. OBS: Niciuna din aceste norme nu se poate evalua. 11/52

Distanţa dintre două funcţii Preliminarii Formularea problemei interpolării Normele discrete: d 1d (f, g) = d 2d (f, g) = n g(x k ) f(x k ), (6) k=0 n (g(x k ) f(x k )) 2, (7) k=0 d 3d (f, g) = max k=0,n g(x k) f(x k ). (8) 12/52

Distanţa dintre două funcţii Preliminarii Formularea problemei interpolării 1.2 1 0.8 0.6 0.4 0.2 0-0.2 Date f g 1 g 2 Avantaj: pot fi evaluate cu uşurintă. Dezavantaj: se pierde posibilitatea evaluării acurateţii între noduri. Mai mult d d (f, g 1 ) = 0; d d (f, g 2 ) = 0; problemă prost formulată. -0.4-2 0 2 4 6 8 10 12 14 13/52

Formularea problemei interpolării Preliminarii Formularea problemei interpolării Se caută g pentru care d d (f, g) = 0, unde f este cunoscută într-un număr finit de puncte f(x j ) = y j. Echivalent cu a impune condiţiile de interpolare g(x j ) = f(x j ), j = 0,...,n, (9) g(x j ) = y j, j = 0,...,n. (10) Pentru a face ca problema să fie bine formulată matematic (soluţia să existe şi să fie unică) funcţia g se caută în spaţiul polinoamelor generalizate g adică se caută de forma unei combinaţii liniare de m funcţii ϕ k, k = 1,...,m numite funcţii de bază: m g(x) = c k ϕ k (x). (11) k=0 14/52

Formularea problemei interpolării Preliminarii Formularea problemei interpolării Funcţiile de bază se aleg înainte de rezolvarea propriu-zisă a problemei interpolării. Exemple: ϕ 0 (x) = 1, ϕ 1 (x) = sin x, ϕ 2 (x) = cos x,ϕ 3 (x) = sin(2x), etc. ϕ 0 (x) = 1, ϕ 1 (x) = x, ϕ 2 (x) = x 2, ϕ 3 (x) = x 3, etc. Cei m coeficienţi c k se calculează din impunerea condiţiilor de interpolare: m c k ϕ k (x j ) = y j, j = 0,...,n, (12) k=0 Sistem algebric liniar cu n + 1 ecuaţii şi m + 1 necunoscute. 15/52

Formularea problemei interpolării Preliminarii Formularea problemei interpolării Pentru buna formulare matematică se impune ca m = n şi ϕ 0 (x 0 ) ϕ 1 (x 0 ) ϕ n (x 0 ) = ϕ 0 (x 1 ) ϕ 1 (x 1 ) ϕ n (x 1 ) 0. (13) ϕ 0 (x n ) ϕ 1 (x n ) ϕ n (x n ) 0 x j sunt distincte şi ϕ k sunt liniar independente. 16/52

Formularea problemei interpolării Preliminarii Formularea problemei interpolării Date: Se cer: un tabel de valori (x k, y k ), k = 0,...,n, unde punctele reţelei de discretizare x k sunt distincte două câte două; n+1 funcţii de bază liniar independenteϕ k (x), k = 0,...,n. coeficienţii c k, k = 0,...,n pentru care sunt satisfăcute condiţiile de intepolare g(x j ) = y j, j = 0,...,n unde g(x) = n k=0 c kϕ k (x) este polinomul de interpolare al datelor din tabel. 17/52

Metodele de interpolare globală = metodele în care funcţiile de bază se definesc compact, printr-o singură expresie pe întreg domeniul de definiţie al funcţiei de interpolat. Gradul polinomului de interpolare = numărul de puncte din tabelul de date - 1 În funcţie de cum se aleg funcţiile de bază se obţin diferite metode de interpolare globală. 18/52

Introducere Funcţiile de bază: ϕ k (x) = x k, k = 0,...,n. Polinomul de interpolare: n g(x) = c k x k = c 0 + c 1 x + c 2 x 2 + +c n x n, (14) k=0 Din impunerea condiţiilor de interpolare c 0 + c 1 x 0 + c 2 x0 2 + +c nx0 n = y 0 c 0 + c 1 x 1 + c 2 x1 2 + +c nx1 n = y 1 (15) c 0 + c 1 x n + c 2 xn 2 + +c n xn n = y n etapa de pregătire = calculul coeficienţilor polinomului de interpolare etapa de evaluare = evaluarea propriu-zisă a polinomului de interpolare. 19/52

Introducere Efort de calcul: Etapa de pregătire: O(2n 3 /3) - dezavantaj Etapa de evaluare: O(2n). Dezavantaj major: pentru valori mari ale lui n matricea coeficienţilor sistemului este slab condiţionată y = x k 1.8 1.6 1.4 1.2 1 0.8 x x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 0.6 0.4 0.2 0 0 0.2 0.4 0.6 0.8 1 1.2 1.4 x 20/52

Introducere Funcţiile de bază sunt polinoamele Lagrange n i=0,i k ϕ k (x) = l k (x) = (x x i) n i=0,i k (x k x i ), (16) Polinomul de interpolare este m g(x) = c k l k (x). (17) k=0 l k (x j ) = { 1 dacă j = k, 0 dacă j k. (18) 21/52

Introducere Polinoame Lagrange 1.2 4 1 0.8 0.6 l 0 (x) l (x) 1 l 2 (x) l (x) 3 3 2 l (x) 0 l (x) 1 l (x) 2 l (x) 3 l 4 (x) 0.4 l 4 (x) 1 l k (x) 0.2 l k (x) 0 0-1 -0.2-0.4-2 -0.6 1 1.5 2 2.5 3 3.5 4 4.5 5 x -3 1 2 3 4 5 6 7 x Funcţiile Lagrange pentru o reţea de discretizare uniformă (stânga), respectiv neuniformă (dreapta). 22/52

Introducere Condiţiile de interpolare g(x j ) = y j, j = 0,...,n m c k l k (x j ) = y j, (19) k=0 c j = y j, j = 0,...,n. (20) Expresia polinomului Lagrange: g(x) = n y k l k (x) = k=0 n k=0 y k n i=0,i k (x x i) n i=0,i k (x k x i ). (21) 23/52

Introducere Exemplu: dreapta ce trece prin 2 puncte g(x) = y 0 x x 1 x 0 x 1 + y 1 x x 0 x 1 x 0, (22) Exemplu: parabola ce trece prin 3 puncte (x x 1 )(x x 2 ) g(x) = y 0 (x 0 x 1 )(x 0 x 2 ) +y (x x 0 )(x x 2 ) 1 (x 1 x 0 )(x 1 x 2 ) +y (x x 0 )(x x 1 ) 2 (x 2 x 0 )(x 2 x 1 ). Implementarea formulelor de acest tip (fără pregătire) T e = O(4n 2 ) pentru fiecare evaluare. Efort de calcul total pentru evaluarea în m puncte de T L fp = O(4mn 2 ). (23) 24/52

- implementare Se scoate factor comun forţat p = polinomul de interpolare fiind unde coeficienţii notaţi n (x x k ), (24) k=0 g(x) = p n k=0 α k x x k, (25) α k = y k n j=0,j k (x k x j ) (26) vor fi calculaţi în etapa de pregătire. 25/52

- implementare procedură Lagrange_pregătire(n,x, y, α) ; pregăteşte coeficienţii din metoda Lagrange întreg n ; dimensiunea problemei - numărul de intervale tablou real x[n], y[n] ; tabelul de valori, indici de la zero ; declaraţii - parametri de ieşire tablou real α[n] ; coeficienţii pentru k = 0, n α k = y k pentru j = 0, n dacă j k atunci α k = α k /(x k x j ) retur 26/52

- implementare funcţie Lagrange_evaluare(n,x, y, α, xcrt) ; evaluează polinomul de interpolare Lagrange în punctul xcrt întreg n ; dimensiunea problemei - numărul de intervale tablou real x[n], y[n] ; tabelul de valori, indici de la zero tablou real α[n] ; coeficienţii real xcrt ; punctul de evaluat ; alte declaraţii real p, s p = 1 pentru k = 0, n dacă xcrt x k < zeroul_maşinii()atunciîntoarce y k p = p (xcrt x k ) s = 0 pentru k = 0, n s = s + α k /(xcrt x k ) întoarce s p 27/52

- efort de calcul Varianta cu pregătire Etapa de pregătire: T p = O(2n 2 ) Etapa de evaluare T e = O(5n) Efort de calcul total T L cp = O(2n 2 + 5mn). Varianta fără pregătire Etapa de evaluare T e = O(4n 2 ) Efort de calcul total T L fp = O(4mn 2 ). Obs: algoritmul trateaza şi cazul în care punctul de evaluare coincide cu unul din punctele din tabel. 28/52

Eroarea de trunchiere Dacă f este continuă şi derivabilă de un număr finit de ori, se poate obţine o margine a erorii de interpolare e(x) = f(x) g(x), (27) care poate fi privită ca o eroare de trunchiere deoarece interpolarea caută o aproximare într-un spaţiu finit dimensional de funcţii. e(x) M n+1 (n+1)! n x x k. (28) k=0 Eroarea de interpolare depinde de marginea derivatei de un ordin egal cu numărul de puncte de tabel. 29/52

Eroarea de trunchiere e(x) M n+1 (n+1)! n x x k. (29) k=0 7 6 5 Date f 1 f 2 g 4 3 2 1 0-1 -2 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 În cazul unui tabel de valori cu două puncte, presupunând că funcţia adevărată este o parabolă, atunci eroarea de interpolare este mai mică pentru parabola f 1, care are derivata de ordinul doi (curbura) mai mică. 30/52

Introducere Funcţii de bază: ϕ 0 (x) = 1, ϕ 1 (x) = (x x 0 ), ϕ 2 (x) = (x x 0 )(x x 1 ), ϕ n (x) = (x x 0 )(x x 1 ) (x x n 1 ). (30) Polinomul de interpolare: g(x) = c 0 +c 1 (x x 0 )+c 2 (x x 0 )(x x 1 )+ +c n (x x 0 )(x x 1 ) (x x n 1 ), (31) Condiţiile de interpolare: c 0 = y 0, c 0 + c 1 (x 1 x 0 ) = y 1, c 0 + c 1 (x 2 x 0 ) + c 2 (x 2 x 0 )(x 2 x 1 ) = y 2, c 0 + c 1 (x n x 0 ) + c 2 (x n x 0 )(x n x 1 ) + c n(x n x 0 )(x n x 1 ) (x n x n 1 ) = y n. (32) 31/52

Introducere Coeficienţii reprezintă diferenţe divizate ale funcţiei faţă de submulţimi ale nodurilor de discretizare: c 0 = y 0 = f[x 0 ] c 1 = (y 1 y 0 )/(x 1 x 0 ) = f[x 0, x 1 ] c 2 = [y 2 y 0 (y 1 y 0 )/(x 1 x 0 )(x 2 x 0 )]/(x 2 x 0 )/(x 2 x 1 ) =. c n = = f[x 0, x 1, x 2,..., x n ]. (33) Diferenţa divizată faţa de o submulţime a nodurilor reţelei de discretizare se defineşte în mod recursiv: f[x i, x i+1,...,x i+m ] = f[x i+1, x i+2,...,x i+m ] f[x i, x i+1,..., x i+m 1 ] x i+m x i. (34) 32/52

Introducere Proprietăţi ale diferenţelor divizate: Variabilele independente pot fi permutate într-o diferenţă divizată fără ca valoarea funcţiei să se modifice. f[x 0, x 1 ] = f[x 1] f[x 0 ] x 1 x 0 = f[x 0] f[x 1 ] x 0 x 1 = f[x 1, x 0 ] (35) şi, pe baza relaţiei de recurenţă această proprietate poate fi generalizată pentru o mulţime oarecare de noduri. 33/52

Introducere Proprietăţi ale diferenţelor divizate: Diferenţa divizată faţă de o submulţime cu două puncte identice este derivata funcţiei: f[x 0, x 0 ] = lim x 1 x 0 f(x 1 ) f(x 0 ) x 1 x 0 = f (x 0 ). (36) Legătura dintre diferenţele divizate ale unei funcţii şi derivatele sale poate fi generalizată. 34/52

Introducere Polinomul de interpolare Newton: g(x) = f[x 0 ]+f[x 0, x 1 ](x x 0 )+f[x 0, x 1, x 2 ](x x 0 )(x x 1 )+ + +f[x 0, x 1,...,x n ](x x 0 )(x x 1 ) (x x n 1 ). (37) Dacă x k x 0, atunci g(x) tinde către seria Taylor a funcţiei f în x 0 : g(x) f[x 0 ]+f[x 0, x 0 ](x x 0 )+f[x 0, x 0, x 0 ](x x 0 ) 2 + f[x 0, x 0,...,x }{{} 0 ](x x 0 ) n n+1 (38) 35/52

Introducere Avantaje: termeni succesivi ai polinomului interpolării Newton aproximează termeni corespunzători din dezvoltarea în serie Taylor se poate controla eroarea de trunchiere, efortul de calcul putând fi adaptat preciziei impuse soluţiei. atunci când se adaugă un punct suplimentar în reţeaua de interpolare, se poate porni de la interpolarea cu un grad mai scăzut şi trebuie doar adăugat un singur termen în sumă, nefiind necesară refacerea totală a calculelor, ci doar evaluarea unui singur termen suplimentar. 36/52

Introducere Fie g(x) = interpolarea funcţiei f(x) pe x 0, x 1,..., x n Dacă se adaugă un nod nou x n+1, noul polinom de interpolare: h(x) = g(x)+f[x 0, x 1,...,x n, x n+1 ](x x 0 )(x x 1 ) (x x n ). (39) Condiţia de interpolare suplimentară: h(x n+1 ) = f(x n+1 ) f(x n+1 ) = g(x n+1 )+f[x 0, x 1,...,x n, x n+1 ](x n+1 x 0 )(x n+1 x 1 ) (x n+1 x n ). (40) Deoarece x n+1 poate fi ales arbitrar, putem înlocui x n+1 cu x, deci f(x) = g(x)+f[x 0, x 1,...,x n, x](x x 0 )(x x 1 ) (x x n ), (41) eroarea de trunchiere făcută la interpolarea funcţiei f pe reţeaua de noduri x 0, x 1,..., x n este n e(x) = f(x) g(x) = f[x 0, x 1,...,x n, x] (x x k ). (42) k=0 37/52

Introducere Dar e(x) = f(x) g(x) = f[x 0, x 1,...,x n, x] e(x) = f(n+1) (ξ) (n+1)! n (x x k ). (43) k=0 n (x x k ). (44) k=0 există ξ a.î. f[x 0, x 1,...,x n, x] = f(n+1) (ξ) (n+1)!. Diferenţele divizate pe o reţea cu mai mult de două noduri reprezintă aproximări ale derivatelor de ordin superior, ordinul derivatei fiind cu unu mai mic decât numărul de noduri ale diviziunii. În particular, dacă toate nodurile tind către x 0 f[x 0, x 0,...,x 0, x }{{} 0 ] = f(n+1) (x 0 ) (n+1)!. n+2 38/52

- algoritm Etapa de pregătire: se calculează tabelul diferenţelor divizate: x 0 x 1 x 2 x n 1 x n y 0 = f[x 0 ] y 1 = f[x 1 ] y 2 = f[x 2 ] y n 1 = f[x n 1 ] y n = f[x n f[x 0, x 1 ] f[x 1, x 2 ] f[x n 1, x n] f[x 0, x 1, x 2 ] f[x n 2, x n 1, x n].. f[x 0, x 1,...,x n] Sunt calculate n(n+1)/2 diferenţe divizate, din care utile pentru polinomul de interpolare sunt doar n. 39/52

- algoritm procedură Newton_pregătire(n, x, y, dd) ; pregăteşte diferenţele divizate din metoda Newton întreg n ; dimensiunea problemei - nr. de intervale tabloureal x[n], y[n] ; tabelul de valori, indici de la zero ; declaraţii - parametri de ieşire tabloureal dd[n][n] ; diferenţele divizate pentru j = 0, n dd(0, j) = y(j) pentru i = 1, n pentru j = 0, n i dd(i, j) = (dd(i 1, j) dd(i 1, j 1))/(x(j + i) x(j)) retur 40/52

- algoritm funcţie Newton_evaluare(n, x, y, dd, xcrt) ; evaluează polinomul de interpolare Newton în punctul xcrt întreg n ; dimensiunea problemei - nr. de intervale tabloureal x[n], y[n] ; tabelul de valori, indici de la zero tabloureal dd[n][n] ; diferenţele divizate real xcrt ; punctul de evaluat real ycrt ; valoarea funcţiei în punctul de evaluat ycrt = dd(n, 0) pentru k = n 1, 0, 1 ycrt = dd(k, 0)+(xcrt x k ) ycrt întoarce ycrt 41/52

- algoritm Funcţia de evaluare se bazează pe scrierea polinomului sub forma g(x) = c 0 +(x x 0 )[c 1 +(x x 1 )[c 2 + [c n 1 + c n (x x n )] ]]. (45) Efort de calcul: Etapa de pregătire: n T p = O(n 2 ). i=1 Etapa de evaluare: T e = O(3n) 2(n i) = 2n(n 1)/2 operaţii Efort de calcul total în metoda Newton T N = O(n 2 + 3mn). Efortul de calcul pentru metodele de interpolare globală. Metoda Pregătire Evaluare Clasică O(2n 3 /3) O(2mn) Lagrange O(2n 2 ) O(5mn) Newton O(n 2 ) O(3mn) 42/52

- algoritm Concluzii: 1 Metodele clasică, Lagrange, Newton dau teoretic acelaşi rezultat pentru că polinomul de interpolare est unic. 2 este cea mai eficientă din punct de vedere al timpului de pregătire, cât şi a celui de evaluare. 3 Avantajul major este însă acela că metoda Newton permite controlul erorii de trunchiere. Evaluarea polinomului de interpolare cu controlul erorii de trunchiere: 43/52

- algoritm procedură Newton_evaluare2(n,x, y, dd, xcrt, ycrt, et) ; evaluează polinomul de interpolare Newton în punctul xcrt ; declaraţii - parametri de intrare întreg n ; dimensiunea problemei - nr. de intervale tablou real x[n], y[n] ; tabelul de valori, indici de la zero tablou real dd[n][n]; diferenţele divizate real xcrt ; punctul de evaluat real ycrt ; valoarea funcţiei în punctul de evaluat real et ; eroarea de trunchiere ycrt = dd(n 1, 0) pentru k = n 2, 0, 1 ycrt = dd(k, 0) + (xcrt x k ) ycrt et = dd(n, 0) pentru k = 0, n 1 et = et (xcrt x k ) retur 44/52

Un exemplu simplu x -1 2 4 y -6 9 49 : g(x) = c 0 + c 1 x + c 2 x 2, (46) Condiţiile de interpolare g( 1) = 6, g(2) = 9, g(4) = 49, c 0 c 1 + c 2 = 6, c 0 + 2c 1 + 4c 2 = 9, c 0 + 4c 1 + 16c 2 = 49. (47) (48) Soluţia acestui sistem este c 0 = 7, c 1 = 2, c 2 = 3, de unde g(x) = 3x 2 + 2x 7. 45/52

Un exemplu simplu x -1 2 4 y -6 9 49 : l 0 (x) = l 1 (x) = l 2 (x) = (x 2)(x 4) ( 1 2)( 1 4) = x 2 6x + 8, 15 (49) (x + 1)(x 4) (2+1)(2 4) = x 2 3x 4, 6 (50) (x + 1)(x 2) (4+1)(4 2) = x 2 x 2, 10 (51) iar polinomul de interpolare globală este g(x) = 6l 0 (x)+9l 1 (x)+49l 2 (x) = 3x 2 + 2x 7. (52) 46/52

Un exemplu simplu x -1 2 4 y -6 9 49 : -1 2 4 f[x 0 ] = 6 f[x 1 ] = 9 f[x 2 ] = 49 f[x 0, x 1 ] = 5 f[x 1, x 2 ] = 20 f[x 0, x 1, x 2 ] = 3 f[x 0, x 1 ] = (9+6)/(2+1) = 5, f[x 1, x 2 ] = (49 9)/(4 2),f[x 0, x 1, x 2 ] = (20 5)/(4+1) Polinomul de interpolare: g(x) = 6+5(x + 1)+3(x + 1)(x 2) = 3x 2 + 2x 7. (53) 47/52

Un exemplu simplu Dacă adăugăm un nou punct în acest tabel x -1 2 4 3 y -6 9 49 10 putem calcula uşor polinomul de gradul trei. -1 2 4 3-6 9 49 10 5 20 39 3 19 4 iar polinomul de interpolare este h(x) = 3x 2 + 2x 7+4(x+ 1)(x 2)(x 4) = 4x 3 17x 2 + 10x+ 25. Termenul e(x) = 4(x + 1)(x 2)(x 4) reprezintă eroarea de trunchiere a polinomului de interpolare de grad doi g(x) = 3x 2 + 2x 7 pentru tabelul de valori ce conţine patru puncte. 48/52

Runge: f : [ 5, 5] IR, f(x) = 1/(1+x 2 ), interpolarea pe o reţea echidistantă de puncte duce la oscilaţii la capetele polinomului de interpolare, cu atât mai mari cu cât gradul polinomului este mai mare. Efectul de oscilaţie a polinomului de interpolare între nodurile reţelei de interpolare se numeşte efect Runge. 2 2 1.5 Runge(x) Puncte folosite pentru interpolare Polinomul de interpolare 1.5 Runge(x) Puncte folosite pentru interpolare Polinomul de interpolare 1 1 0.5 0.5 0 0-0.5-5 0 5-0.5-5 0 5 Efectul Runge: polinomul de intepolare are oscilaţii la capetele intervalului dacă gridul de discretizare este uniform (stânga). Efectul poate fi eliminat prin plasarea nodurilor de discretizare în conformitate cu rădăcinile polinoamelor Chebyshev (dreapta). 49/52

Efectul lui Runge se poate explica prin faptul că eroarea de trunchiere dată de poate fi oricât de mare datorită faptului că f (n+1) (ξ) poate fi oricât de mare; se poate elimina dacă nodurile reţelei de interpolare se îndesesc către capetele domeniului. Oscilaţii minime se obţin dacă plasarea nodurilor în interiorul domeniului de definiţie se face în concordanţă cu rădăcinile polinoamelor Chebyshev. În intervalul [ 1, 1], acestea sunt ( ) 2i + 1 x i = cos 2(n+1) π, i = 0,...,n, (54) Într-un interval arbitrar [a, b]: x i = a+b 2 + b a 2 ( ) 2i + 1 cos 2(n+1) π. (55) 50/52

este tot interpolarea polinomială globală numai că nodurile reţelei de interpolare sunt alese în concordanţă cu rădăcinile polinoamelor Chebyshev. 1 Limitarea acestei metode este aceea că se poate aplica numai funcţiilor definite prin cod şi nu tabelar. 2 În cazul funcţiilor date tabelar, pentru a obţine polinoame de interpolare care să nu prezinte efect Runge, este mai eficient dacă se foloseşte interpolarea pe porţiuni. 51/52

Lectură obligatorie Introducere Cap.6 din [1], Mihai Rebican, Daniel Ioan - Metode numerice in ingineria electrica - Indrumar de laborator pentru studentii facultatii de Inginerie electrica, Editura Printech, 2013, disponibil la http://mn.lmn.pub.ro/indrumar/indrumarmn_printech2013.pdf 52/52