Sunteți pe pagina 1din 23

Metode Numerice

Lucrarea de laborator nr. 9

I.

Scopul lucrrii

Aproximarea funciilor. Polinoame de interpolare.

II.
1. 2. 3. 4. 5.

Coninutul lucrrii
Polinom de interpolare. Definiie. Eroarea de interpolare. Polinomul Lagrange de interpolare. Polinomul Newton de interpolare de spea I (ascendent). Polinomul Newton de interpolare de spea a II-a (descendent). Polinomul Newton cu diferene divizate.

III.

Prezentarea lucrrii III.1. Polinom de interpolare. Definiie. Eroarea de interpolare.

Fie f : [a, b] R o funcie. Se pune problema determinrii unei funcii F care s aproximeze funcia f. O asfel de aproximaie este necesar n urmtoarele situaii: 1) Cnd nu se cunoate expresia analitic a lui f, ci doar valorile sale ntr-un numr finit de puncte x0, x1, , xn din intervalul [a, b]. 2) Cnd expresia analitic a lui f este prea complicat i calculele efectuate cu ajutorul acesteia ar fi prea dificile. F trebuie s fie o funcie simpl, uor de evaluat, de difereniat i de integrat. n cele ce urmeaz F va fi un polinom. Fie x0, x1, , xn n+1 puncte distincte din intervalul [a, b], i yi = f(xi) pentru orice i = 0,1,n. Pentru ca polinomul de grad mai mic sau egal cu n, Pn, s fie un polinom de interpolare pentru f trebuie satisfcute relaiile: (1) Pn(xi) = yi, i = 0, 1, , n . Polinomul determinat de condiiile anterioare este unic. ntr-adevr fie Pn(x) = anXn + an-1Xn-1 + + a1X + a0 129

Mdlina Roxana Buneci

Relaiile anterioare conduc la sistemul:


2 n a0 + a1x0 + a2 x 0 + + an x 0 = y0
2 n a0 + a1x1 + a2 x 1 + + an x 1 = y1

(2)
n a0 + a1xn + a2 x 2 n + + an x n = yn

Determinatul acestui sistem este


2 n 1 x0 x 0 x0

2 n 1 x1 x 1 x1

0 j<i n n 1 xn x 2 n xn

(x

xj

(fiind un determinant Vandermonde). Deci 0, i n consecin sistemul (2) este compatibil determinat, adic polinomul de interpolare Pn este unic determinat. Coeficienii polinomului de interpolare pot fi determinai rezolvnd sistemul (2), dar dac n este mare, atunci volumul de calcul este mare. De aceea se utilizeaz diferite forme comode ale polinoamelor care conduc la polinoame de interpolare Lagrange, Newton, etc. Teorema urmtoare stabilete eroarea maxim cu care polinomul Pn aproximeaz funcia f: Teorem. Fie f : [a, b] R o funcie de clas Cn+1. Fie x0, x1, , xn n+1 puncte distincte din intervalul [a, b], i yi = f(xi) pentru orice i = 0,1,n. Fie Pn polinomul de interpolare, adic polinomul de gradul n ce satisface relaiile Pn(xi) = yi pentru orice i = 0, 1, , n . Atunci oricare ar fi x [a, b], avem: | f(x) Pn(x) |
t[a ,b ]

sup f (n +1) (t )

(n + 1) !

|(x x0) (x x1) (x xn)|.

III.2. Polinomul Lagrange de interpolare.


Fie f : [a, b] R o funcie, fie x0, x1, , xn n+1 puncte distincte din intervalul [a, b], i yi = f(xi) pentru orice i = 0,1,n. Forma polinomului de interpolare Lagrange este: 130

Metode Numerice

Ln(x) = y0b0(x) + y1b1(x) + + ynbn(x) unde bi sunt polinoame de grad n. Punnd condiiile Ln(xi) = yi pentru orice i = 0, 1, , n , se obine (x x 0 )(x x 1 )....(x x i 1 )(x x i +1 )...(x x n ) bi(x) = (x i x 0 )(x i x 1 )....(x i x i 1 )(x i x i +1 )...(x i x n ) i deci Ln(x) =

y
i =0

(x x 0 )(x x 1 )....(x x i 1 )(x x i +1 )...(x x n ) (x i x 0 )(x i x 1 )....(x i x i 1 )(x i x i +1 )...(x i x n )

Algoritm pentru determinarea polinomului Lagrange Date de intrare: n numrul de puncte distincte din [a, b] este n +1 xy tablou ce conine pe prima linie cele n+1 puncte distincte din intervalul [a, b], iar pe a doua linie valorile corespunztoare ale funciei. x0 y0 x1 y1 xn yn

x punctul n care se evaluaez polinomul. Date de ieire: lx - valoarea polonimului n x lx : =0; pentru i = 0,n,1 executa t : =yi; pentru j = 0,i - 1,1 executa t: = t * (x xj)/ (xi xj) pentru j = i + 1,n,1 executa t: = t * (x xj)/ (xi xj) lx : = lx + t; Procedur MAPLE pentru calculul valorii polinomului Lagrange >Lagrange := proc(n, xy, x) local lx, i, j, t; lx := 0; 131

Mdlina Roxana Buneci

for i from 0 to n do t := xy[2, i]; for j from 0 to i - 1 do t := t*(x - xy[1, j])/(xy[1, i] - xy[1, j]) od; for j from i + 1 to n do t := t*(x - xy[1, j])/(xy[1, i] - xy[1, j]) od; lx := lx + t od; RETURN(lx) end; Procedura de mai jos are drept parametri o funcie f un numr n i un tablou x ce conine n+1 puncte distincte din domeniul de definiie al lui f . Procedura ntoarce un tablou xy ce conine pe prima linie cele n+1 puncte distincte, iar pe a doua linie valorile corespunztoare ale funciei. >tabvalori := proc(f, n, x) local xy, i; xy := array(1 .. 2, 0 .. n); for i from 0 to n do xy[1, i] := evalf(x[i]); xy[2, i] := evalf(f(x[i])) od; RETURN(xy) end; Exemple > f: =(x->ln(x)*sin(x^5+2)/x+x^7/(1+x^(1/2))); ln (x ) sin x 5 + 2 x7 + x 1+ x > x1:=array(0..4,[0.4,0.6,0.8,1,1.2]); x - > x1 := array(0 .. 4, [ 0) = .4 1) = .6 (2) = .8 (3) = 1 (4) = 1.2 132

Metode Numerice

]) > xy1:=tabvalori(f,4,x1); xy1 := xy > Lagrange(4,xy1,0.8); -.09207484030 > evalf(f(0.8)); -.0920748403 > Lagrange(4,xy1,0.9); .1738917140 > evalf(f(0.9)); .1841466329 >with(plots); > plot([f(x),Lagrange(4,xy1,x)],x=0.2..1.4);

> plot([f(x),Lagrange(4,xy1,x)],x=0.2..0.4);

133

Mdlina Roxana Buneci

>plot([f(x),Lagrange(4,xy1,x)],x=0.4..0.6);

> Lagrange(4,xy1,1.9); > evalf(f(1.9));

12.91425926

37.92008534 > plot([f(x),Lagrange(4,xy1,x)],x=1..2);

134

Metode Numerice

> x2:=array(0..4,[1,2,3,4,5]); x2 := array(0 .. 4, [ (0) = 1 (1) = 2 (2) = 3 (3) = 4 (4) = 5 ]) > xy2:=tabvalori(f,4,x2); xy2 := xy > Lagrange(4,xy2,2); 53.20270210 > evalf(f(2)); 53.20270208 > Lagrange(4,xy2,1.9); 10.1492169 > evalf(f(1.9)); 37.92008534 > Lagrange(4,xy2,19); .2380404278 108 > evalf(f(19)); .1668013797 109

III.3. Polinomul Newton de interpolare de spea I (ascendent)


Fie f : [a, b] R o funcie, fie x0, x1, , xn n+1 puncte distincte din intervalul [a, b], i yi = f(xi) pentru orice i = 0,1,n. Punctele x0, x1, , xn se presupun echidistante, adic xi = x0 + ih, i = 0,1, , n h fiind pasul reelei. Pentru determinarea polinomului de grad mai mic sau egal cu n ce satisface relaiile: Pn(xi) = yi, i = 0, 1, , n . se pleac de la un polinom de forma: Pn ( x ) = C 0 + C1 ( x x 0 ) + C 2 ( x x 0 )( x x 1 ) + ... + + C n ( x x 0 )( x x 1 )...(x x n 1 ) Coeficienii C0, C1, , Cn se determin lund n considerare condiiile Pn(xi) = yi, i = 0, 1, , n . Pentru exprimarea acestor coeficieni este necesar cunoaterea noiunilor de putere generalizat i diferen finit. 135

Mdlina Roxana Buneci

Fie f : [a, b] R o funcie, i fie reeaua cu nodurile echidistante x0, x1, , xn, avnd pasul h > 0. Produsul x[n] = x(x-h)(x-(n-1)h) se numete putere generalizat a lui x. Dac h ar fi 0, atunci puterea generalizat ar coincide cu puterea obinuit. Expresia f(x) = f(x+h) - f(x) se numete diferen finit (la dreapta) de ordinul nti. Diferenele finite de ordin superior se definesc cu ajutorul relaiei: nf(x) = (n-1f(x)) Se verific cu uurin relaiile (f+g) = (f) +(g) (cf) = c(f) (m+n)(f) = m(nf). Pentru aplicaii, calculul diferenelor finite este comod dac se construiete tabelul diagonal urmtor: f(x0) f(x1) f(x2) f(x3) f(x0) f(x1) f(x2) 2f(x0) 2f(x1) 3f(x0) f(xn-3) f(xn-2) f(xn-1) f(xn) f(xn-3) f(xn-2) f(xn-1) 2f(xn-3) 2f(xn-2) 3f(xn-3) nf(x0) Astfel f ( x 0 ) = f ( x1 ) f ( x 0 ) 2 f ( x 0 ) = f ( x 1 ) f ( x 0 ) = f ( x 2 ) f ( x 1 ) (f ( x 1 ) f ( x 0 )) = f ( x 2 ) 2f ( x 1 ) + f ( x 0 ) f ( x 0 ) = 2 f ( x 1 ) 2 f ( x 0 ) = f ( x 3 ) 3f ( x 2 ) + 3f ( x 1 ) + f ( x 0 ) Se poate demonstra prin inducie c n f (x ) =
3

( 1) C
i i =0

i nf

(x + (n i )h )

dar n aplicaii se va folosi tabelul diagonal de mai sus. 136

Metode Numerice

Pentru determinarea coeficientului Ci al polinomului de interpolare Pn se utilizeaz diferena finit de ordinul i a lui Pn n x0. Se obine: 3 f ( x 0 ) 2 f ( x 0 ) [2] f ( x 0 ) ( (x x 0 )[1] + ( ) Pn ( x ) = f ( x 0 ) + x x + x x 0 )[3] + 0 1! h 2! h 2 3! h 3

(x x 0 )[n ] n! h n Expresia polinomului de interpolare de mai sus poart denumirea de polinom Newton de spea I (sau ascendent ). Expresia polinomului Newton se poate pune sub o form mai comod pentru aplicaii, dac se face schimbarea de variabil x x0 t= h i se ine seama c (x x 0 )[i ] (x x 0 ) (x x 0 h ) (x x 0 2h ) (x x 0 (i 1)h ) .... = h h h h hi = t (t 1)(t 2 )....(t i + 1) pentru orice i = 1,2,,n. Se obine Pn ( x ) = Pn ( x 0 + t * h )
+ .... + f ( x 0 ) 2 f ( x 0 ) 3 f ( x 0 ) t+ * t ( t 1) + * t ( t 1)( t 2) + 3! 1! 2! n f ( x 0 ) * t ( t 1)...(t n + 1) + .... + n! Aproximarea funciei f prin polinomul Newton ascendent este avantajos pentru valorile x din vecintatea lui x0, eroarea fiind mic pentru t n modul mic. = f (x 0 ) + Algoritm pentru determinarea polinomului Newton ascendent Date de intrare: n numrul de puncte echidistante din [a, b] este n +1 x0- primul punct din reea h pasul reelei y tablou ce conine valorile funciei n punctele reelei. y0 y1 yn yi = f(xi) =f(x0 + ih), i = 0,1,, n 137

n f ( x 0 )

Mdlina Roxana Buneci

x punctul n care se evalueaz polinomul. Date de ieire: px - valoarea polinomului n x px : =y0; t : = (x-x0)/h; u: = 1; pentru i = 0,n-1,1 executa pentru j =n-1,i,0,-1 executa yj+1 := yj+1 yi; pentru i = 1,n,1 executa u :=u*(t-i+1)/i; px:=px+u*yi ;

Procedur MAPLE pentru calculul valorii polinomului Newton de spea I (ascendent) >pnewton1 := proc(n, x0, h, y, x) local t, u, yl, i, j, px; yl := array(0 .. n); for i from 0 to n do yl[i] := y[i] od; px := yl[0]; t := (x - x0)/h; u := 1; for i from 0 to n - 1 do for j from n - 1 by -1 to i do yl[j + 1] := yl[j + 1] - yl[j] od od; for i to n do u := u*(t - i + 1)/i; px := px + u*yl[i] od; RETURN(evalf(px)) end; Procedura tabval de mai jos are drept parametri o funcie f, primul punct din reeaua de n+1 puncte, x0, i pasul reelei, h. Procedura ntoarce un tablou unidimensional ce conine valorile funciei n punctele reelei. 138

Metode Numerice

>tabval := proc(f, n, x0, h) local y, i; y := array(0 .. n); for i from 0 to n do y[i] := f(x0 + i*h) od; RETURN(evalm(y)) end; Exemple > f: =(x->ln(x)*sin(x^5+2)/x+x^7/(1+x^(1/2))); x - >
ln (x ) sin x 5 + 2 x7 + x 1+ x

> y1:=tabval(f,4,0.4,0.2); y1 := y > pnewton1(4,0.4,0.2,y1,0.8); -.0920748400 > evalf(f(0.8)); -.0920748403 > pnewton1(4,0.4,0.2,y1,0.9); .1738917144 > evalf(f(0.9)); .1841466329 > with(plots); > plot([f(x),pnewton1(4,0.4,0.2,y1,x)],x=0.2..1.4);

>plot([f(x),pnewton1(4,0.4,0.2,y1,x)],x=0.2..0.4); 139

Mdlina Roxana Buneci

> >plot([f(x),pnewton1(4,0.4,0.2,y1,x)],x=0.4..0.6);

> pnewton1(4,0.4,0.2,y1,1.9); 12.91425931 > evalf(f(1.9)); 37.92008534 > plot([f(x),pnewton1(4,0.4,0.2,y1,x)],x=1..2);

> y2:=tabval(f,4,1,1);

y2 := y > pnewton1(4,1,1,y2,2); 53.20270208 > evalf(f(2)); 53.20270208 > pnewton1(4,1,1,y2,1.9); 10.1492169 > evalf(f(1.9)); 37.92008534 140

Metode Numerice

> pnewton1(4,1,1,y2,19); .2380404277 108 > evalf(f(19)); .1668013797 109

III.3. Polinomul Newton de interpolare de spea II (descendent)


Fie f : [a, b] R o funcie, fie x0, x1, , xn n+1 puncte distincte din intervalul [a, b], i yi = f(xi) pentru orice i = 0,1,n. Punctele x0, x1, , xn se presupun echidistante, adic xi = x0 + ih, i = 0,1, , n h fiind pasul reelei. Pentru determinarea polinomului de grad mai mic sau egal cu n ce satisface relaiile: Pn(xi) = yi, i = 0, 1, , n . se pleac de la un polinom de forma: Pn ( x ) = C 0 + C1 ( x x n ) + C 2 ( x x n )( x x n 1 ) + ... + + C n ( x x n )( x x n 1 )...(x x 1 ) Pentru exprimarea coeficienilor C0, C1, , Cn se utilizeaz diferenele finite la stnga lui yn. Expresia f(x) = f(x) - f(x-h) se numete diferen finit (la stnga) de ordinul nti. Diferenele finite la stnga de ordin superior se definesc cu ajutorul relaiei: nf(x) = (n-1f(x)) Se observ c f(x) = f(x-h). n aplicaii, pentru calculul diferenelor finite la stnga se utilizeaz tabelul diagonal urmtor: f(x0) f(x1) f(x2) f(x3) f(x1) f(x2) f(x3) 2f(x2) 2f(x3) 3f(x3) f(xn-3) f(xn-2) f(xn-1) f(xn) f(xn-2) f(xn-1) f(xn) 2f(xn-2) 2f(xn) 3f(xn) nf(xn)

141

Mdlina Roxana Buneci

Pentru determinarea coeficientului Ci al polinomului de interpolare Pn se utilizeaz diferena finit de ordinul i a lui Pn n x0. Se obine: 3 f ( x 0 ) 2 f (x 0 ) [2 ] f ( x 0 ) ( (x x n )[1] + ( ) Pn ( x ) = f ( x 0 ) + x x + x x n 2 )[3] + n 1 1! h 2! h 2 3! h 3

(x x 1 )[n ] n! h n Expresia polinomului de interpolare de mai sus poart denumirea de polinom Newton de spea II (sau descendent ). Expresia polinomului Newton descendent se poate pune sub o form mai comod pentru aplicaii, dac se face schimbarea de variabil x xn t= h Se obine Pn ( x ) = Pn ( x n + t * h )
+ .... + f ( x n ) 2 f (x n ) 3 f (x n ) t+ * t ( t + 1) + * t ( t + 1)( t + 2) + 1! 2! 3! n f (x n ) * t ( t + 1)...(t + n 1) + .... + n! Aproximarea funciei f prin polinomul Newton descendent este avantajos pentru valorile x din vecintatea lui xn, eroarea fiind mic pentru t n modul mic. = f (x n ) + Algoritm pentru determinarea polinomului Newton descendent Date de intrare: n numrul de puncte echidistante din [a, b] este n +1 x0- primul punct din reea h pasul reelei y tablou ce conine valorile funciei n punctele reelei. y0 y1 yn yi = f(xi) =f(x0 + ih), i = 0,1,, n

n f (x 0 )

x punctul n care se evalueaz polinomul. Date de ieire: px - valoarea polinomului n x px : =yn; t : = (x-x0-nh)/h; u: = 1; 142

Metode Numerice

pentru i = 1,n,1 executa pentru j =0,n-i executa yj := yj+1 yj; pentru i = 1,n,1 executa u :=u*(t+i-1)/i; px:=px+u*yn-i ;

Procedur MAPLE pentru calculul valorii polinomului Newton de spea II (descendent) >pnewton2 := proc(n, x0, h, y, x) local t, u, yl, i, j, px; yl := array(0 .. n); for i from 0 to n do yl[i] := y[i] od; px := yl[n]; t := (x - x0 - n*h)/h; u := 1; for i to n do for j from 0 to n - i do yl[j] := yl[j + 1] - yl[j] od od; for i to n do u := u*(t + i - 1)/i; px := px + u*yl[n - i] od; RETURN(evalf(px)) end; Exemple. n exemplele urmtoarea procedura tabval este aceeai din seciunea precedent. > f: =(x->ln(x)*sin(x^5+2)/x+x^7/(1+x^(1/2))); x - > ln (x ) sin x 5 + 2 x7 + x 1+ x

> y1:=tabval(f,4,0.4,0.2); 143

Mdlina Roxana Buneci

y1 := y > pnewton2(4,0.4,0.2,y1,0.8); -.0920748403 > evalf(f(0.8)); -.0920748403 > pnewton2(4,0.4,0.2,y1,0.9); .1738917139 > evalf(f(0.9)); .1841466329 > with(plots); > plot([f(x),pnewton2(4,0.4,0.2,y1,x)],x=0.2..1.4);

>plot([f(x),pnewton2(4,0.4,0.2,y1,x)],x=0.2..0.6);

> plot([f(x),pnewton2(4,0.4,0.2,y1,x)],x=0.8..1.3);

> pnewton2(4,0.4,0.2,y1,1.3); 144

Metode Numerice

> evalf(f(1.3));

2.388973575

2.822982152 > plot([f(x),pnewton2(4,0.4,0.2,y1,x)],x=1..1.5);

> y2:=tabval(f,4,1,1); y2 := y > pnewton2(4,1,1,y2,2); 53.20270208 > evalf(f(2)); 53.20270208 > pnewton2(4,1,1,y2,5.5); 43779.27126 > evalf(f(5.5)); 45511.21075 > pnewton1(4,1,1,y2,55); .2258417985 1010 > evalf(f(55)); .1808934564 1012

III.3. Polinomul Newton cu diferene divizate


Fie f : [a, b] R o funcie, fie x0, x1, , xn n+1 puncte distincte din intervalul [a, b], i yi = f(xi) pentru orice i = 0,1,n. Pentru determinarea polinomului de grad mai mic sau egal cu n ce satisface relaiile: Pn(xi) = yi, i = 0, 1, , n . se pleac de la un polinom de forma:

145

Mdlina Roxana Buneci

Pn ( x ) = C 0 + C1 ( x x 0 ) + C 2 ( x x 0 )( x x 1 ) + ... + + C n ( x x 0 )( x x 1 )...(x x n 1 ) Pentru exprimarea coeficienilor C0, C1, , Cn se utilizeaz diferenele divizate ale lui. Expresia f (x j ) f (x i ) f (x i , x j ) = , i j x j xi se numete diferen divizat de ordinul nti. Diferenele divizate de ordin 2 se definesc cu ajutorul diferenelor divizate de ordinul nti: f (x j , x k ) f (x i , x j ) f (x i , x j , x k ) = x k xi Cunoscnd diferenele divizate de ordinul m, diferenele divizate de ordinul m+1 se definesc prin: f ( x i , x i +1 ,..., x i + m ) f ( x i 1 , x i ,..., x i + m 1 ) f ( x i 1 , x i , x i +1 ,..., x i + m ) = x i + m x i 1 Polinomul Pn are forma Pn = f ( x 0 ) + f ( x 0 , x 1 )( x x 0 ) + f ( x 0 , 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 ) Algoritm pentru determinarea polinomului Newton descendent Date de intrare: n numrul de puncte din [a, b] este n +1 xy tablou ce conine pe prima linie cele n+1 puncte distincte din intervalul [a, b], iar pe a doua linie valorile corespunztoare ale funciei. x0 y0 x1 y1 yi = f(xi), i = 0,1,, n xn yn

x punctul n care se evalueaz polinomul. Date de ieire: px - valoarea polinomului n x px : =y0; u: = 1; pentru i = 0,n-1,1 executa pentru j =n-1,i,0,-1 executa 146

Metode Numerice

yj+1 := (yj+1 yj)/(xj+1 xj-i); pentru i = 1,n,1 executa u :=u*(x-xi-1); px:=px+u*yi ;

Procedur MAPLE pentru calculul valorii polinomului Newton cu diferene divizate >pnewtond := proc(n, xy, x) local u, y, i, j, px; y := array(0 .. n); for i from 0 to n do y[i] := xy[2, i] od; px := y[0]; u := 1; for i from 0 to n - 1 do for j from n - 1 by -1 to i do y[j + 1] := evalf( (y[j+1]- y[j]) / (xy[1, j + 1] - xy[1, j - i])) od od; for i to n do u := u*(x - xy[1, i - 1]); px := px + u*y[i] od; RETURN(evalf(px)) end; Exemple. Procedura tabvalori din exemplele urmtoare a fost definit anterior n seciunea referitoare la polinomul Lagrange. > f: =(x->ln(x)*sin(x^5+2)/x+x^7/(1+x^(1/2))); ln (x ) sin x 5 + 2 x7 + x 1+ x > x1:=array(0..4,[0.4,0.6,0.8,1,1.2]); x - > 147

Mdlina Roxana Buneci

x1 := array(0 .. 4, [ (0) = .4 (1) = .6 (2) = .8 (3) = 1 (4) = 1.2 ]) > xy1:=tabvalori(f,4,x1); xy1 := xy > pnewtond(4,xy1,0.8); -.0920748400 > evalf(f(0.8)); -.0920748403 > pnewtond(4,xy1,0.9); .1738917145 > evalf(f(0.9)); .1841466329 > plot([f(x),pnewtond(4,xy1,x)],x=0.2..1.4);

> plot([f(x),pnewtond(4,xy1,x)],x=0.2..0.4);

148

Metode Numerice

>plot([f(x),pnewtond(4,xy1,x)],x=0.4..0.6);

> pnewtond(4,xy1,1.9); 12.91425930 > evalf(f(1.9)); 37.92008534 > plot([f(x),pnewtond(4,xy1,x)],x=1..2);

> x2:=array(0..4,[1,2,3,4,5]); x2 := array(0 .. 4, [ (0) = 1 (1) = 2 (2) = 3 (3) = 4 (4) = 5 ]) > xy2:=tabvalori(f,4,x2); xy2 := xy > pnewtond(4,xy2,2); 53.20270208 149

Mdlina Roxana Buneci

> evalf(f(2));

53.20270208 > pnewtond(4,xy2,1.9); 10.14921692 > evalf(f(1.9)); 37.92008534 > pnewtond(4,xy2,19); .2380404277 108 > evalf(f(19)); .1668013797 109 Probleme propuse Fie funcia f: (0,) R, definit prin f(x) = lg(x). Se presupune c se cunosc valorile funciei n punctele echidistante x0 = 1000, x1 = 1010,, x5 = 1050. S se gseasc, folosind un polinom Newton de gradul trei, valoarea funciei n x=1044 i n x = 1006. S se compare rezultatele obinute folosind diversele polinoame Newton. Se d tabelul de valori x 1000 1010 1020 1030 1040 1050 f(x) 3.0000000 3.0043214 3.0086002 3.0128372 3.0170333 3.30211893

150

Metode Numerice

151

S-ar putea să vă placă și