Polinomul de interpolare Lagrange

De la testwiki
Versiunea din 22 octombrie 2022 00:48, autor: imported>Andrebot (Robot: completat automat o citare)
(dif) ← Versiunea anterioară | Versiunea curentă (dif) | Versiunea următoare → (dif)
Sari la navigare Sari la căutare
Polinomul de interpolare Lagrange pentru 4 puncte: ((−9, 5), (−4, 2), (−1, −2), (7, 9)), L(x), care este suma polinoamelor de bază scalate y0l0(x), y1l1(x), y2l2(x) and y3l3(x). Polinomul de interpolare trece prin toate cele 4 puncte, iar fiecare polinom scalat de bază trece prin punctul său de control respectiv, în cazul în care este 0, unde x corespunde celorlalte 3 puncte. Codul Matlab pentru acest exemplu este disponibil în [1].

Definiție

Fie un set de k + 1 puncte de date, diferite între ele:

(x0,y0),,(xj,yj),,(xk,yk)

Polinomul de interpolare Lagrange este combinația liniară

L(x):=j=0kyjj(x)

de polinoame Lagrange de bază

j(x):=0mkmjxxmxjxm=(xx0)(xjx0)(xxj1)(xjxj1)(xxj+1)(xjxj+1)(xxk)(xjxk).

Deși numit după Joseph Louis Lagrange în 1795, a fost descoperit pentru prima data în 1779 de către Edward Waring și a fost publicat în 1783 de Leonhard Euler.

Având în vedere ipoteza inițială că xi sunt diferite între ele, această expresie este întotdeauna bine definită.

Se verifică imediat că polinomul interpolează corect funcția, adică: P(xi)=yii=0,,k, pentru orice i=1..n.

Exemple

1

Polinomul de interpolare al funcției tangentă

Să găsim o formulă de interpolare pentru funcția f(x) = tan(x) dată de următoarele seturi de valori:

x0=1.5f(x0)=14.1014x1=0.75f(x1)=0.931596x2=0f(x2)=0x3=0.75f(x3)=0.931596x4=1.5f(x4)=14.1014.

Polinoamele de bază sunt:

0(x)=xx1x0x1xx2x0x2xx3x0x3xx4x0x4=1243x(2x3)(4x3)(4x+3)
1(x)=xx0x1x0xx2x1x2xx3x1x3xx4x1x4=8243x(2x3)(2x+3)(4x3)
2(x)=xx0x2x0xx1x2x1xx3x2x3xx4x2x4=3243(2x+3)(4x+3)(4x3)(2x3)
3(x)=xx0x3x0xx1x3x1xx2x3x2xx4x3x4=8243x(2x3)(2x+3)(4x+3)
4(x)=xx0x4x0xx1x4x1xx2x4x2xx3x4x3=1243x(2x+3)(4x3)(4x+3).

Deci polinomul de interpolare este:

L(x)=1243(f(x0)x(2x3)(4x3)(4x+3)8f(x1)x(2x3)(2x+3)(4x3)+3f(x2)(2x+3)(4x+3)(4x3)(2x3)8f(x3)x(2x3)(2x+3)(4x+3)+f(x4)x(2x+3)(4x3)(4x+3))=4.834848x31.477474x.

2

Să interpolăm funcția f(x) = x2 pe domeniul 1 ? x ? 3, prin următoarele 3 puncte:

x0=1f(x0)=1x1=2f(x1)=4x2=3f(x2)=9.

Polinomul este:

L(x)=1x212x313+4x121x323+9x131x232=x2.

3

Să interpolăm funcția f(x) = x3 pe domeniul 1 < x < 3, prin punctele:

x0=1 f(x0)=1
x1=2 f(x1)=8
x2=3 f(x2)=27

Polinomul este:

L(x)=1x212x313+8x121x323+27x131x232=6x211x+6.

Interpolarea baricentrică

Exemplu de divergență al polinomului de interpolare Lagrange

Forma Lagrange de interpolare polinomului arată caracterul liniar al polinomului de interpolare și unicitatea acestui polinom. De aceea, este de preferat în probe și argumente teoretice. Dar, după cum se poate observa din construcții, de fiecare dată când un nod xk se modifică, toate polinoame Lagrange de bază trebuie să fie recalculate. O formă mai bună a polinomului de interpolare în practică este forma baricentrică de interpolare Lagrange formula Newton a polinomului.

Utilizând

(x)=(xx0)(xx1)(xxk)

putem rescrie polinoamele de bază Lagrange ca

j(x)=(x)xxj1i=0,ijk(xjxi)

sau, prin definirea ponderilor baricentrice [2]

wj=1i=0,ijk(xjxi)

putem scrie pur și simplu

j(x)=(x)wjxxj

care este denumit în mod obișnuit ca prima formă a formulei de interpolare baricentrică.

Avantajul este că această reprezentare polinomul de interpolare poate fi acum evaluat ca

L(x)=(x)j=0kwjxxjyj

care, în cazul în care ponderile wj au fost pre-calculate, are nevoie doar de  mathcalO(n) (operații de evaluare (x) și ponderile wj/(xxj)), spre deosebire de 𝒪(n2) pentru evaluarea polinoamelor Lagrange de bază  ellj(x) individual.

Formula de interpolare baricentrică poate fi, de asemenea, ușor de actualizat pentru a include un nod nou xk+1 prin împărțirea nodurilor wj, j=0k la(xjxk+1) și construirea noului wk+1 ca mai sus.

Putem simplifica și mai mult prima formă prin luarea în considerare prima interpolare baricentrică a funcției constante g(x)1:

g(x)=(x)j=0kwjxxj.

Împărțirea L(x) la g(x) nu modifică interpolarea, dar conduce la rezultatul

L(x)=j=0kwjxxjyjj=0kwjxxj

care este menționat ca forma a doua sau adevarata forma a formulei de interpolare baricentrică. Această formă are avantajul că (x) nu trebuie să fie evaluate pentru fiecare evaluare a L(x).

Referințe

  1. Format:Citation
  2. Jean-Paul Berrut, Lloyd N. Trefethen, Barycentric Lagrange Interpolation, vol. 46, p.501-517

Bibliografie

  • Constantin Ilioi, Probleme de optimizare și algoritmi de aproximare a soluțiilor, Editura Academiei Republicii Socialiste România, București, 1980.

Legături externe