1 / 12

CURS 2

y = g(x). y = f(x). x 2. x 3. x k. x 1 = a. X n = b. APROXIMAREA FUNCTIILOR DE O VARIABILA (I). CURS 2. Introducere. Problema aproximarii unei functii de o variabila se poate aplica in diferite situatii, doua fiind mai frecvente:

Download Presentation

CURS 2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. y = g(x) y = f(x) x2 x3 xk x1 = a Xn = b APROXIMAREA FUNCTIILOR DE O VARIABILA (I) CURS 2 Introducere • Problema aproximarii unei functii de o variabila se poate aplica in diferite situatii, doua fiind mai frecvente: • functia este complet cunoscuta dar are o expresie complicata, dificil de manipulat in calcule (in operatii de derivare, de integrare etc.); • functia nu este complet cunoscuta, fiind date numai valorile acesteia pe o multime discreta si finita de puncte. • Problema aproximarii poate fi formulata astfel: • Fie f: [a,b] R,cunoscuta numai prin valorile sale si anume: f(xi) = yi, intr-un numar finit de puncte xi  [a,b], numite noduri, cu x1 = a si x2 = b. Sa se determine o functie g(x), de expresie cat mai simpla, care sa poata sa aproximeze cat mai bine functia f(x) pe intervalul dat.

  2. n g(x) = Pn-1(x) = akxk-1= a1 +a2x+a3x2+…+anxn-1 k=1 • Criterii de aproximare • Interpolarea • Minimizarea abaterii maxime • Minimizarea sumei patratelor abaterilor in noduri. a) Aproximarea prin interpolare Presupunand cunoscute valorile yi ale functiei f(xi) in nodurile xi distincte (x1 < x2 < … < xn), conditia de interpolare g(xi) = yi reprezinta un sistem de n ecuatii cu n necunoscute. Pentru aproximante g(x) se utilizeaza relatia: g(x) =  akgk(x) n k=1 in care ak reprezinta un set de n parametri nedeterminati (scalari) , iar gk(x) un set de n functii simple cunoscute, liniar independente (functii polinomiale, trigonometrice, exponentiale etc.). a1) Interpolarea polinomiala Un set de functii despre care se stie ca sunt liniar independente il reprezinta sirul de monoame xk-1, (k =1,2,…,n). In acest caz functia de interpolare devine un polinom de grad (n-1), numit polinom de interpolare.

  3. n akxk-1=yi k=1 n-1 n-1 2 … x1 2 … xn 1 x1 x1 1 xn xn Problema determinarii coeficientilor aK se rezolva folosind conditia de interpolare, adica gasind solutiile sistemului de ecuatii liniare: care poate fi scris printr-o ecuatie matriceala astfel: a1 a2 an y1 y2 yn n-1 2 … x2 1 x2 x2 = ………………… . . Nodurile xi fiind distincte, sistemul este de tip Cramer, cu determinant Vandermonde, avand o solutie unica bine determinata pentru coeficientii aK. Metoda este foarte simpla, dar cand numarul de puncte xi este mare, rezolvarea sistemului este dificilă sau mai puţin convenabilă. Metoda este simpla, dar cand numarul de noduri xi este mare, rezolvarea sistemului este dificila sau cel puţin neconvenabilă. De aceea, in aceste cazuri se preferă alte forme ale polinoamelor de interpolare.

  4. UTILIZAREA COMENZILOR MATLAB PENTRU INTERPOLAREA SI APROXIMAREA DATELOR

  5. APLICATIA 1 (EXEMPLU DE CALCUL ANALITIC) Utilizand punctele x1 = 1, x2 = 1.21 si x3 = 1.44, sa se determine polinomul de interpolare de gradul doi care aproximeaza functia f(x) =  x si sa se aproximeze f(1.3). REZOLVARE Avand trei puncte cunoscute, se pot impune trei conditii, si anume: y1 = 1; y2 = 1.1 si y3 = 1.2. Expresia polinomului de interpolare este data de: g(x) = a1+ a2x + a3x2 Impunând conditiile: g(1) = 1; g(1.21) =1.1 si g(1.44) = 1.2, rezulta sistemul de ecuatii liniar: a1 + a2 + a3 = 1 a1 + 1.21a2 + 1.4641a3 = 1.1 a1 + 1.44a2 + 2.0736a3 = 1.2 cu solutia unica: a1 = 0.4099; a2 = 0.6842; a3 = -0.0941, polinomul de interpolare fiind: g(x) = P2(x) = -0.0941x2 + 0.6842x +0.4099. Aproximarea prin acest polinom a lui x = 1.3 este: g(1.3) = 1.1403. Cum valoarea reala a lui f(1.3) este 1.140175, polinomul de interpolare da aproximatii destul de bune.

  6. UTILIZAREA COMENZILOR PROGRAMULUI MATLAB PENTRU INTERPOLAREA SPLINE CUBICA APLICATIA 2 Dandu-se urmatorul set de date se cere sa se determine valoarea y de interpolare spline cubica pentru x = 2.6 COMANDA:x = [0, 1, 2, 3, 4, 5]; y = [0, 20, 60, 68, 77, 110]; yval = spline (x, y, 2.6) Nume variabila = spline (x,y,x1) REZULTATE OBTINUTE: yval = 67,3013

  7. APLICATIA 3 In urma unui experiment se inregistreaza datele: Ora: [0 2.5 5 7.5], Temperatura: [1 -1 0.5 0]. Se cere sa se reprezinte grafic variatia temperaturii in intervalul [0 7.5], folosind cubic_spline de pas 0.25. Se cere de asemenea estimarea valorii temperatura la ora 0.25. >> x = [0 2.5 5 7.5], y = [1 -1 0.5 0]; xi = 0:0.25:7.5; yi = spline (x,y,xi); >> plot (x,y,’o’,xi,yi) >> valoarea_ceruta0 = spline(x,y,0.25) COMANDA: REZULTATE OBTINUTE: valoarea_ceruta0 = 0.4858 Graficul dependenţei orei de temperatură este prezentat alaturat. 0.4858 0.25

  8. n akxk-1=yi k=1 (x-x1)(x-x3)…(x-xn) (x-x1)(x-x3)…(x-xn-1) (x-x2)(x-x3)…(x-xn) Ln(x) = L1(x) = L2(x) = (xn-x1)(xn-x2)…(xn-xn-1) (x2-x1)(x2-x3)…(x2-xn) (x1-x2)(x1-x3)…(x1-xn) a2) Forma Lagrange a polinomului de interpolare In practica, pentru a evita rezolvarea sistemului de ecuatii o forma mai convenabila pentru exprimarea functiei g(x) o constituie polinomul de interpolare Lagrange. Acesta se scrie sub forma: Pn-1(x) =  ykLk(x) = y1L1(x) + y2L2(x) + … + ynLn(x) n k=1 Coeficientii aK sunt chiar valorile yk ale functiei f(x) in noduri, iar functiile gk(x) din relatiag(x) =  akgk(x)sunt scrise sub forma unor polinoame, denumite polinoame Lagrange si notate cu Lk(x). Aceste polinoame, de grad (n-1) au expresiile: sau, intr-o forma concisa: x - xi n Lk(x) =  xk - xi i = 1 i  k Lk(xi) = 0 pentru k  i Lk(xi) = 1 pentru k = i ; k = 1, 2,…, n

  9. APLICATIA 4 (EXEMPLU DE CALCUL ANALITIC) Utilizand punctele x1 = 1, x2 = 1.21 si x3 = 1.44, sa se determine polinomul de interpolare Lagrange care aproximeaza functia f(x) =  x . REZOLVARE Se vor calcula cele trei polinoame Lagrange de gradul al doilea: (x-x2)(x-x3) (x-1.21)(x-1.44) (x-1.21)(x-1.44) L1(x) = = = (x1-x2)(x1-x3) (1-1.21)(1-1.44) 0.0924 (x-x1)(x-x3) (x-1)(x-1.44) (x-1)(x-1.44) L2(x) = = = - 0.0483 (x2-x1)(x2-x3) (1.21-1)(1.21-1.44) (x-1)(x-1.21) (x-x1)(x-x2) (x-1)(x-1.21) L3(x) = = = (1.44-1)(1.44-1.21) (x3-x1)(x3-x2) 0.1012 Cum f(x1) = y1 = 1, f(x2) = y2 = 1.1, f(x3) = y3 = 1.2, polinomul de interpolare Lagrange va fi: P2(x) = L1(x)y1 + L2(x)y2 + L3(x)y3 = - 0.0941x2 + 0.6842x +0.4099, identic cu cel gasit in Aplicatia 1. COMANDA: >> x = [1 1.21 1.44] >> y = [1 1.1 1.2] >> yval = polyfit(x,y,2) REZULTATE OBTINUTE: yval = - 0.0941 0.6842 0.4099 Nume variabila = polyfit (x,y,n) Gradul polinomului de interpolare

  10. y2 – y1 x2 – x1 DD(x3, x2) – DD(X2, x1) DD(xn,…,x2) – DD(xn-1,…,x1) x3 – x1 xn – x1 a3) Forma Newton a polinomului de interpolare O alta modalitate convenabila de construire a polinomului de interpolare o constituie polinomul lui Newton cu diferente divizate. Fiind date perechile de numere (xi, yi) se definesc urmatoarele rapoarte, denumite diferente divizate, notate cu (DD): DD (x2, x1) = DD(x3, x2, x1) = DD(xn, xn-1,…, x1) = Diferentele divizate care se folosesc utilizand n puncte se numesc diferente divizate de ordinul (n-1)

  11. n  i=1 Pn-1(x) = y1 + (x-x1)DD(x2, x1) + (x-x1)(x-x2)DD(x3, x2, x1) + (x-x1)(x-x2)…(x-xn-1)DD(xn,…,x1) Pn-1(x) = polinomul de interpolare (polinomul lui Newton cu diferente divizate) Rn-1(x) = restul (eroarea de aproximare la interpolarea polinomiala) Rn-1(x) = (x-xi)DD(x, xn, xn-1,…,x1) iar F(x) = Pn-1(x) + Rn-1(x) CONCLUZII • Formula de interpolare Lagrange este aceeasi indiferent daca punctele de interpolare sunt egal distantate sau luate arbitrar pe scara absciselor. Relatia de recurenta este simpla, usor de aplicat pe calculator, necesitand un spatiu de memorie mai redus. • Interpolarea Newton permite trecerea cu usurinta la retele cu un numar mai mare de puncte, dar necesita alocarea unui spatiu de memorie mai mare decat in cazul interpolarii Lagrange din cauza diferentelor divizate. La adaugarea unor puncte aditionale de interpolare apar noi termeni in expresia polinomului de interpolare, fara insa a modifica pe cei calculati anterior.

  12. = = 0.4762 DD (x3, x2) = DD (x2, x1) = y3 – y2 y2 – y1 = - 0.0941 DD(x3, x2, x1) = = x3 – x2 x2 – x1 DD(x3, x2) – DD(X2, x1) x3 – x1 1.1-1 1.21-1 0.4348 – 0.4762 1.44 – 1 (EXEMPLU DE CALCUL ANALITIC) APLICATIA 5 Utilizand punctele x1 = 1, x2 = 1.21 si x3 = 1.44, sa se determine polinomul de interpolare Newton care aproximeaza functia f(x) =  x . REZOLVARE Se calculeaza mai intai diferentele divizate si se tabeleaza rezultatele: 1.2-1.1 = = 0.4348 1.44 -1.21 In final, P2(x) = y1 + (x-x1)DD(x2, x1) + (x-x1)(x-x2)DD(x3, x2, x1) = = 1 + (x-1)0.4762 + (x-1)(x-1.21)(-0.0941) = = - 0.0941x2 + 0.6842x +0.4099, care este identic cu cel determinat prin metoda de interpolare Lagrange.

More Related