Lucrre de lortor nr. 7 I. Scopul lucrării Derivre proximtivă Integrre numerică II. Conținutul lucrării 1. Formule de derivre proximtivă folosind dezvoltări în serie Tylor. Proceduri MAPLE pentru implementre formulelor de derivre proximtivă. Exemple 3. Integrre numerică - Formul dreptunghiurilor. - Formul trpezelor III. Prezentre lucrării III.1. Formule de derivre proximtivă folosind dezvoltări în serie Tylor Fie f : [, ] R, derivilă. Se recurge l proximre derivtei unei funcții f su derivtelor ei de ordin superior tunci când expresi lui f este pre complictă su când nu se cunoște expresi nlitică funcției f (f este dtă prin intermediul unui tel de vlori). Fie f : [, ] R, derivilă. Presupunem că se du n+1 puncte distincte în intervlul [, ], x0, x1,., xn, în cre se cunosc vlorile funcției f. Prezentăm o tehnică de găsire unor formule de proximre pentru vlorile derivtelor de orice ordin le funcției f. Acestă tehnică re l ză formul lui Tylor. 1
Mădălin Roxn Buneci Metode Numerice Lortor Remintim cestă formulă. Fie I un intervl de numere rele, I și f : I R o funcție de n ori derivilă în. Polinomul Tylor de ordin n tșt lui f în punctul este funcți polinomilă T,n : I R, definită prin: T,n(x) = f() + f ' 1! (x-) + f"! (x-) + f n n! (x-) n. Restul formulei Tylor de ordin n tșt funcției f în punctul este funcți R,n : I R definită prin R,n(x) = f(x) - T,n(x). Eglitte f(x) = T,n(x) + R,n(x) vlilă pentru orice x I se numește formulă Tylor de ordin n tștă funcției f în punctul. Se demonstreză că R lim x x,x n = 0. Dcă f este de clsă C n+1, tunci există u strict cuprins între și x (su echivlent există (0, 1) stfel încât u = + (x )) cu propriette că R,n(x) = n1 f u n 1! (x - ) n+1. Ne propunem să proximăm vlorile derivtelor de ordinul întâi și doi le funcției f în punctul xi [, ] când sunt cunoscute vlorile funcției în punctele cre nu sunt nepărt echidistnte, dică: xi-1, xi, xi+1 xi-1 = xi h, xi+1 = xi + h. Presupunem că f este de 3 ori derivilă și scriem formul lui Tylor de ordinul tștă lui f în xi: f (x i) f (x i) f (w x) 3 f (x) f (x i) (x x i) (x x i) (x x i). 1!! 3! cu wx stric cuprins între x și xi. Înlocuim în cestă formulă x = xi-1, respectiv x = xi+1 și oținem relțiile: f (x i) f (x i)h f (u) 3 f (x i1) f (x i) ( h) ( h) (1) 1!! 3!
f (x i) f (x i) f (v) 3 3 f (x i1) f (x i) h h h () 1!! 3! cu u strict cuprins între xi-1 și xi și v strict cuprins între xi și xi+1. Scăzând din dou relție prim relție înmulțită cu oținem: f (v) f (u) f (x ) f x 1 f (x ) h h f (x 3! 3! i) h 1 3 3 3 i1 i i1 Putem proxim vlore derivtei funcției f în xi prin: cu erore: i1 i i1 f (x ) f x 1 f (x ) f (x i) h 1 f (v) f (u) h 1 3! 1 3! cre tinde l zero odtă cu h. Adunând l dou relție prim înmulțită cu oținem: f (v) f (u) f (x i1) 1 f (x i) f (x i1) h h 3! 3! f (x i) h 1 3 3 3 Putem stfel proxim vlore derivtei de ordinul doi l lui f în xi prin f (x ) cu erore cre tinde l zero odtă cu h. f (x ) 1 f (x ) f (x ) i1 i i1 i h 1 h f (v) f (u) 1 3 3 Dcă nodurile sunt echidistnte (dică dcă = 1) se oțin următorele formule de proximre: f (x i 1) f (x i 1) f (x i) h. 3
Mădălin Roxn Buneci Metode Numerice Lortor f (x i 1) f (x i) f (x i 1) f (x i). h III.. Proceduri MAPLE pentru implementre formulelor de derivre proximtivă. Exemple Procedură MAPLE pentru determinre vlorilor proximtive le derivtei de ordinul 1 Procedur d1 dmite drept prmetri list x ce conține punctele x1, x,., xn și list y ce conține vlorile y1 = f(x1), y = f(x),., yn= f(xn). Procedur întorce list proximțiilor derivtei de ordinul I lui f în punctele x, x3,..., xn-1. > d1:=proc(x,y) locl df,h,lph,i,n; n:=nops(x);df:=[seq(1,i=1..n-)]; for i from to n-1 do h:=x[i]-x[i-1]; lph:=(x[i+1]-x[i])/h; df[i-1]:=(y[i+1]+y[i]*(lph^-1)-lph^*y[i-1])/ (h*lph*(lph+1)) end do; return df; end proc; Procedură MAPLE pentru determinre vlorilor proximtive le derivtei de ordinul Procedur d dmite drept prmetri list x ce conține punctele x1, x,., xn și list y ce conține vlorile y1 = f(x1), y = f(x),., yn= f(xn). Procedur întorce list 4
proximțiilor derivtei de ordinul l II-le lui f în punctele x, x3,..., xn-1. > d:=proc(x,y) locl df,h,lph,i,n; n:=nops(x);df:=[seq(1,i=1..n-)]; for i from to n-1 do h:=x[i]-x[i-1]; lph:=(x[i+1]-x[i])/h; df[i-1]:=*(y[i+1]-(lph+1)*y[i]+lph*y[i- 1])/(h^*lph*(lph+1)) end do; return df; end proc; Exemple > x1:=[seq(-1+*i/5,i=0..5)]; > f1:=t->ln(1+t^); > y1:=[seq(evlf(f1(-1+*i/5)),i=0..5)]; > d1(x1,y1); > d(x1,y1); x1 := -1, -3-1 1 3,,,, 5 5 5 5 1 f1 := t ln( 1t ) y1 := [ 0.6931471806, 0.3074846997, 0.039071315, 0.039071315, 0.3074846997, 0.6931471806] [-0.8174080840, -0.33539983, 0.33539983, 0.8174080840 ] [ 0.7337405900, 1.676649916, 1.676649916, 0.7337405900 ] > z1:=[seq(d(f1)(-1+*i/5),i=1..4)]; z1 := -15-5 5 15,,, 17 13 13 17 > z:=[seq((d@@)(f1)(-1+*i/5),i=1..4)]; 5
Mădălin Roxn Buneci Metode Numerice Lortor > mp(evlf,d1(x1,y1)); > mp(evlf,z1);-.8174080840 > mp(evlf,d(x1,y1)); > mp(evlf,z); z := 00 300 300 00,,, 89 169 169 89 [-0.8174080840, -0.33539983, 0.33539983, 0.8174080840 ] [-0.8835941, -0.3846153846, 0.3846153846, 0.8835941 ] [ 0.7337405900, 1.676649916, 1.676649916, 0.7337405900 ] [ 0.6904155, 1.77514799, 1.77514799, 0.6904155 ] III.3. Integrre numerică Fie f : [, ] R o funcție continuă. Ne punem prolem să clculăm vlore proximtivă integrlei f (x) (x)dx, unde : [, ]R este o funcție continuă strict pozitivă numită pondere. Considerăm x0, x1,, xn n+1 puncte distincte din intervlul [, ], și notăm yi = f(xi) pentru orice i = 0,1, n. Fie Ln polinomul Lgrnge socit lui f și punctelor considerte: Ln(x) = x x0 x x 1... x xi1 x x i1... x xn n yi i0 x i x 0 x i x 1... x i x i1 x i x i1... x i x n Înlocuind f prin Ln, oținem formul de proximre Reprezentăm punctele su form și oținem xi = f (x) (x)dx L (x) (x)dx t i, ti [-1, 1], i 0, 1,..., n n 6
n f (x) (x)dx 1 i i0 1 (t t 0) (t t i 1)(t t i 1) (t t n) f (x ) ( t) dt. (t t ) (t t )(t t ) (t t ) ( formul generlă de cudrtură) i 0 i i1 i i1 i n Restul formulei generle de cudrtură (erore solută) este: Rn(f) unde M = sup x [,] M n 1! n 1 0 1 n, 1 t (t t )(t t ) (t t )dt f( n+1) (x). III.3.1. Formul dreptunghiurilor Fie f : [, ] R o funcție de clsă C 1. Aplicând formul generlă de cudrtură pentru 1, n=0, x0 = (deci t0 = 0) oținem f (x)dx (-) f cu o erore 4 sup f ' x, x. Considerăm o diviziune (x0, x1,., xn) intervlului [, ] cu puncte echidistnte (xi = + formul de proximre i, i = 0, 1,,, n.) și plicăm pe fiecre suintervl [xi,xi+1] n x f xdx (xi+1-xi) i x f i1 x i 1 x i Se oține stfel formul dreptunghiurilor: 7
Mădălin Roxn Buneci Metode Numerice Lortor Restul (erore) este dt de: f (x)dx n n 1 xi x f i1 i0. n1 xi x f i 1 xdx f n i0 4n sup f ' x, x Interpretre geometrică formulei dreptunghiurilor Fie Di dreptunghiul cu o dimensiune dtă intervlul [xi, xi+]] și cu celltă x dimensiune dtă de i x f i1 xi xi+1 Atunci ri dreptunghiului Di este x x f = xi x f i1 n, (xi+1-xi) i i1 și deci formul dreptunghiurilor presupune proximre f (x)dx prin sum riilor 8
dreptunghiurilor Di, i = 0, 1, n-1. Proceduri MAPLE pentru clculul vlorii proximtive unei integrle definite folosind formul dreptunghiurilor Procedur dreptunghiuri1 re drept prmetri funcți cre se integreză, limitele de integrre, și numărul de suintervle din diviziune. Procedur întorce vlore proximtivă integrlei oținută plicând formul dreptunghiurilor. Procedur dreptunghiuri este similră, cu singur deoseire că în locul numărului de suintervle se introduce un număr pozitiv eps ce reprezintă erore mximă. > dreptunghiuri1:=proc(f,,,n) locl i,i,h,h0; i:=0;h:=(-)/n;h0:=+1/*h; for i from 0 to n-1 do i:=i+evlf(f(h0+i*h)) end do; i:=i*h; return evlf(i) end proc; > dreptunghiuri:=proc(f,,,eps) locl i,i,h,h0,n;n:=floor(1/4*(-)^/eps)+1; print(`numr de psi`,n); h:=(-)/n;i:=0;h0:=+1/*h; for i from 0 to n-1 do i:=i+evlf(f(h0+i*h)) end do; i:=i*h; return evlf(i) 9
Mădălin Roxn Buneci Metode Numerice Lortor end proc; Exemple > f:=(x->x^7*ln(x)+x*cos(x)); > evlf(int(f(x),x=..3)); > dreptunghiuri1(f,,3,5); > dreptunghiuri1(f,,3,50); > dreptunghiuri1(f,,3,500); > dreptunghiuri(f,,3,0.01); > dreptunghiuri(f,,3,0.001); > dreptunghiuri(f,,3,0.0001); > g:=(x->exp(-x^)); > evlf(int(g(x),x=-1..1)); f := xx 7 ln( x) x cos( x) 778.3339881 768.443405 778.346340 778.339936 Numr de psi, 6 777.9666004 Numr de psi, 51 778.3300446 Numr de psi, 501 778.3339476 g := xe ( x) 1.49364866 > dreptunghiuri1(g,-1,1,5); 10
> dreptunghiuri1(g,-1,1,10); > dreptunghiuri1(g,-1,1,500); > dreptunghiuri(g,-1,1,0.01); > dreptunghiuri(g,-1,1,0.001); > dreptunghiuri(g,-1,1,0.0001); > with(student): 1.503548970 1.496106505 1.49364946 Numr de psi, 101 1.49367307 Numr de psi, 1001 1.49364851 Numr de psi, 10001 1.49364867 > middlesum(g(x),x=-1..1,5); > evlf(middlesum(g(x),x=-1..1,5)); > middleox(g(x),x=-1..1,5); 5 4 i0 e 4/ 5 i 5 1.503548970 11
Mădălin Roxn Buneci Metode Numerice Lortor > middlesum(g(x),x=-1..1,10); > evlf(middlesum(g(x),x=-1..1,10)); > middleox(g(x),x=-1..1,10); 1 5 9 i0 e i 9/ 10 5 1.496106505 Comnd middlesum(g(x), x=..,n) din pchetul student întorce proximți integrlei g(x)dx oținută prin plicre formulei dreptunghiurilor utilizând n suintervle. Comnd middleox(g(x), x=..,n) reprezintă grfic dreptunghiurile utilizte în formulei dreptunghiurilor. 1
III.3.. Formul trpezelor Fie f : [, ] R o funcție de clsă C. Aplicăm formul generlă de cudrtură pentru 1, n=1, x0 =, x1 = (deci t0 = -1 și t1 =1). Oținem f (x)dx (f() +f()). cu erore f (x)dx - (f() +f()) 1 3 sup f " x, Considerăm o diviziune (x0, x1,., xn) intervlului [, ] cu puncte echidistnte (xi = + i, i = 0, 1,,, n.) și plicăm pe fiecre suintervl [xi,xi+1] n formul de proximre x f xdx i1 xi ( f(xi) + f(xi+1)) x i 1 x i Oținem următore formulă de cudrtură numită formul trpezelor: x. Restul (erore) este dt de: f (x)dx n f f n1 fxi. i1 f f n1 f xdx f xi 3 n i1 1n sup f " x, x Interpretre geometrică formulei trpezelor Fie Ti trpezul dreptunghic cu înălțime eglă cu lungime intervlului [xi, xi+]] și cu zele f(xi) și f(xi+1). 13
Mădălin Roxn Buneci Metode Numerice Lortor f(xi+1) f(xi) xi xi+1 Atunci ri trpezului Ti este xi1 xi ( f(xi) + f(xi+1)) = ( f(xi) + f(xi+1)), n și deci formul trpezelor rtă că trpezelor Ti, i = 0, 1, n-1. f x dx se pote proxim prin sum riilor Proceduri MAPLE pentru clculul vlorii proximtive unei integrle definite folosind formul trpezelor Procedur trpeze1 re drept prmetri funcți cre se integreză, limitele de integrre, și numărul de suintervle din diviziune. Procedur întorce vlore proximtivă integrlei oținută plicând formul trpezelor. Procedur trpeze este similră, cu singur deoseire că în locul numărului de suintervle se introduce un număr pozitiv eps ce reprezintă erore mximă. > trpeze1:=proc(f,,,n) locl i,i,h; i:=0;h:=(-)/n;; for i from 1 to n-1 do i:=i+evlf(f(+i*h)) end do; 14
i:=i+(f()+f())/;i:=i*h; return evlf(i) end proc; > trpeze:=proc(f,,,eps) locl i,i,h,n;n:=floor(s(()^3/(1*eps))^(1/))+1; print(`numr de psi`,n); h:=(-)/n;i:=0; for i from 1 to n-1 do i:=i+evlf(f(+i*h)) end do; i:=i+(f()+f())/;i:=i*h; return evlf(i) end proc; Exemple > f:=(x->x^7*ln(x)+x*cos(x)); > evlf(int(f(x),x=..3)); > trpeze1(f,,3,5); > trpeze1(f,,3,50); > trpeze1(f,,3,500); > trpeze(f,,3,0.01); > trpeze(f,,3,0.001); f := xx 7 ln( x) x cos( x) 778.3339881 798.1539466 778.536999 778.3359754 Numr de psi, 3 833.1348363 15
Mădălin Roxn Buneci Metode Numerice Lortor > trpeze(f,,3,0.0001); > g:=(x->exp(-x^)); > evlf(int(g(x),x=0..1)); Numr de psi, 10 783.986759 Numr de psi, 9 778.946586 g := xe ( x) 0.746841330 > trpeze1(g,0,1,5); > trpeze1(g,0,1,50); > trpeze1(g,0,1,500); > trpeze(g,0,1,0.01); > trpeze(g,0,1,0.001); > trpeze(g,0,1,0.0001); > trpeze(g,0,1,10^(-8)); 0.7443683397 0.7467996064 0.746838866 Numr de psi, 3 0.739986475 Numr de psi, 10 0.746107961 Numr de psi, 9 0.7467515 Numr de psi, 887 0.74684195 16
> with(student): > trpezoid(g(x),x=-1..1,5); 5 e (-1) 5 4 i1 > evlf(trpezoid(g(x),x=-1..1,5)); > trpezoid(g(x),x=-1..1,10); 1 5 e (-1) 1 5 e 1.47394388 9 i1 e 1 i 5 i 1 5 > evlf(trpezoid(g(x),x=-1..1,10)); Comnd trpezoid(g(x), x=..,n) din pchetul student întorce proximți integrlei g(x)dx oținută prin plicre formulei trpezelor utilizând n suintervle. 1.488736679 17