luni, 7 octombrie 2019

INTEGRAREA NUMERICA

INTEGRAREA NUMERICA După studierea acestui capitol, veţi fi capabili să: • descrieţi algoritmul de calcul al integralei definite prin metoda dreptunghiurilor (a trapezelor); • elaboraţi subprograme pentru calculul numeric al integralelor definite prin metoda dreptunghiurilor (a trapezelor); • identificaţi probleme din diverse domenii, care se rezolvă prin calculul numeric al integralelor definite. 5.1. Metoda dreptunghiurilor pentru calculul aproximativ al integralei definite Una dintre cele mai des aplicate implementări ale calculului numeric este calcularea integralei definite prin metode aproximative. Metodele directe nu întotdeauna permit calculul analitic al integralei, de multe ori nici nu este cunoscută formula care defineşte funcţia ce urmează să fie integrată. De obicei este dată doar o serie de puncte în care este cunoscută valoarea funcţiei. În aceste cazuri integrala poate fi calculată doar prin metode aproximative (în presupunerea că funcţia integrată este continuă pe segmentul pe care se face integrarea). Din cursul de matematică se ştie că sensul geometric al integralei definite J f {x )d x a este aria trapezului curbiliniu, determinat de axa 0x, dreptele x = a, x = b şi graficul funcţiei f ( x ) pe segmentul [a, b] (fig. 5 .1). Măsurarea exactă a ariei unei asemenea figuri nu este întotdeauna posibilă. În asemenea situaţii o soluţie ar fi aproximarea figurii iniţiale cu un set de figuri, a căror arie este uşor de calculat. Atunci valoarea integralei definite (aria figurii iniţiale) va fi aproximată de suma ariilor calculate. Fie f o funcţie derivabilă pe [a, b] şi se cere ’b să se calculeze J f { x ) d x . a Pentru rezolvarea numerică a problemei se consideră o diviziune a [a , b ] în forma a=x0 —a )A funde M - supremul \f'(x) \ pe [a, b], I - valoarea calculată a integralei prin dreptunghiuri de stînga (dreapta). La fel ca în cazul dreptunghiurilor de mijloc, numărul de divizări necesare pentru a obţine o soluţie calculată cu o eroare ce nu depăşeşte o valoare prestabilită e poate fi dedus direct din formula erorii: n = ('b~ ay 2s + 1. ALGORITMIZAREA METODEI (dreptunghiuri de stînga)2 P a su l 1. Iniţializare: Se introduc valorile extremităţilor segmentului de integrare a, b şi numărul de divizări n. Notă. În cazul în care este necesar calculul integralei cu o eroare, care nu depăşeşte o valoare \b-afM ~ prestabilită e, numărul de divizări n se calculează cu ajutorul formulei n = 2 e + 1 . P a su l 2. Se calculează lungimea segmentului elementar . S ^ 0. P a su l 3. Pentru toţi i de la 0 la n-1: n a) Se calculează valorile xt <= a + ih. b) Se calculează aria dreptunghiului elementar: S t <= f (x;) x h. c) Aria calculată se sumează cu ariile precedente: S ^ S + Si. P a su l 4. Se afişează aria totală calculată S. SFÎRSIT. * n * E x e m p lu l3: Să se calculeze integrala definită J (xsin( x ) ) 2dx, utilizînd metoda drepto unghiurilor, variaţia dreptunghiurilor de stînga, pentru 10, 100, 1 000 de divizări. Atribuirea valorilor iniţiale se face direct în program. Pentru fiecare număr de divizări pe ecran se va afişa valoarea calculată şi numărul de divizări, separate prin spaţiu. 56 Pentru dreptunghiurile de dreapta, algoritmul se deosebeşte doar în p a s u l3 prin diapazonul valorilor pe care le primeşte indicele i: de la 1 la n. program cn15; const r=3; var S, a , b, h : r e a l ; j , i,n:integer; function f(x:real): real; begin f:=sqr((x* sin(x)) ) ; end; begin a:=0; b:=pi; n:=1; for j:=1 to r do begin S:=0; n:=n*10; h := ( b - a ) / n ; for i:=0 to n-1 do S: =S+ h * f ( a + i * h ) ; writeln ('n=',n,' I=',S:0:6); end; end. R ezu ltate: n=10 i =4.381796 n=100 I=4.382315 n=1000 I=4.382315 1 E x e m p lu l 4 : Să se calculeze integrala definită Jsinjcsin2xsva3>xdx, utilizînd metoda o dreptunghiurilor, variaţia dreptunghiurilor de dreapta, cu o eroare de calcul ce nu depăşeşte valoarea e = 0,001. Atribuirea valorilor iniţiale se face direct în program. Pe ecran se va afişa valoarea calculată a integralei şi numărul de divizări necesare pentru a obţine precizia cerută, separate prin spaţiu. R ezolvare: Numărul necesar de divizări poate fi determinat analitic. Prin calcule elementare se determină valoarea M = 6: n = M ( b - a f 2e . program cn16; var S, a , b, e , h, M : r e a l ; j , i,n:integer; function f(x:real): real; begin f:=sin(x)* sin(2*x)* sin(3*x); end; begin a : =0 ; b := 1 ; e : = 0 . 0 0 1 ; M:=6; n : = t r u n c ( M * ( b - a ) * ( b - a ) / (2 * e) )+ 1; S:=0; h:=(b-a)/n; for i:=1 to n do S: =S+ h * f ( a + i * h ) ; writeln ('n=',n,' I=',S:0:6); end. R e z u lta te : n=3001 I=0.278729 Întrebări si exerciţii O Care este diferenţa dintre metoda dreptunghiurilor de mijloc si variaţiile sale? e Care este relaţia dintre numărul de divizări ale segmentului de integrare şi eroarea de calcul a variaţiilor metodei dreptunghiurilor? e Care dintre variaţiile metodei dreptunghiurilor este mai exactă? De ce? O Scrieţi un program care calculează integrala definită prin metoda dreptunghiurilor de stînga, de mijloc, de dreapta. Utilizaţi un număr variabil de divizări (de exemplu 10, 100, 1 000). | ( x l n x ) 2 d t c ; i b ) ; i v U i 0 ; 7U e ) J ( j c s i r u c ) 2 f i!x r ; 2 n f ) 1 ; dx * (2 + cosjc)(3 + sinjc) Explicaţi diferenţa dintre rezultatele obţinute pentru valori diferite ale numărului de divizări. Verificaţi rezultatele obţinute folosind calculatorul on-line pentru integrale definite: www.solvemymath.com/online_math_calculator/calculus/definite_integral. e Scrieţi un program care calculează integrala definită prin metoda dreptunghiurilor cu o eroare care nu va depăşi valoarea prestabilită £ = 0,005; £ = 0,0005; £ = 0,00005. Valoarea M urmează să fie determinată prin metode analitice: 3 2 - 1 a) ; b) ; c) . î V î -3V Pentru fiecare valoare a erorii se va afişa valoarea calculată a integralei şi numărul de divizări, pentru care se obţine aceasta. © Scrieţi un program ce va determina, folosind variaţiile metodei dreptunghiurilor, care dintre integralele definite de mai jos este mai mare: 7t 2* . 1 1 a) ' sau ; b) sau . 5.3. Formula trapezelor În paragrafele precedente, pentru aproximarea valorii integralei au fost folosite dreptunghiuri - figuri geometrice, suprafaţa cărora se calculează prin formule elementare. Un neajuns al acestei metode este numărul mare de divizări, necesare pentru obţinerea unor rezultate suficient de exacte. Este logică aproximarea mai exactă a integralei prin alte figuri geometrice, aria cărora poate fi calculată prin formule elementare. Una dintre figurile care permit acest lucru este trapezul (fig. 5. 6). b Pentru calculul numeric al j f ( x ) d x se va a folosi, la fel ca pentru metoda dreptunghiurilor, o divizare a segmentului de integrare în n segmente elementare de lungime egală. Lungimea h a unui segment elementar se determină b — a I Fig. 5.6. Pe fiecare din segmentele elementare în care este divizat [a, b], valoarea integralei definite este aproximată de aria unui trapez. Latura superioară a trapezului este segmentul cu extremităţile în punctele de coordonate ( x t, f (x )), ( x i+1, f ( x i+1)) conform formulei h ■ iar valorile x, ale 58 punctelor care formează divizarea - prin formula: x i = a + ih, i = 0, n. Ca rezultat al divizării se obţine un set de trapeze cu înălţimi egale (h). Bazele trapezului i sînt segmentele verticale care unesc punctele x i şi xi+i cu graficul funcţiei f (x). Lungimile bazelor sînt corespunzător f (xi) şi f (xi+1) (fig. 5.7). Aria trapezului elementar determinat de punctele x i şi xi+1 va fi calculată după formula s = /i / ( a ) + / ( a +.) ' 2 ‘ Prin urmare, pe [a, b] valoarea calculată a integralei va fi: Fig. 5.7. Aproximarea valorii integralei definite pe un segment elementar prin aria trapezului determinat de axa 0 x, dreptele x = xi, x = x i+1 şi segmentul cu extremităţile (x ;, f (x i)), (x i+i, f (x ,J ) '. ■A i=o Eroarea metodei La fel ca în cazul formulei dreptunghiurilor, eroarea de calcul la integrare va fi cercetată ca suma integralelor erorilor de aproximare a funcţiei f (x) printr-o funcţie liniară pe fiecare segment elementar. Eroarea de integrare pe segmentul [a, b] este considerată ca fiind suma erorilor de integrare pe segmentele elementare şi este dată de formula: b J f { x ) d x - I tr , 12 unde M - supremul/" (x) pe [a, b], h - lungimea unui segment elementar. În cazul cînd este necesar calculul integralei prin metoda trapezelor cu o eroare de calcul care nu depăşeşte o valoare dată e, numărul necesar de divizări ale segmentului de integrare, care asigură o eroare ce nu depăşeşte valoarea predefinită, poate fi determinat apriori din relaţia ( b - a ) ^ h 2 <8 echivalentă cu n > ^ ^ -, sau n = (b - a Ţ M ' 12e + 1. ALGORITMIZAREA METODEI P a su l 1. In iţializare: Se introduc valorile extremităţilor segmentului de integrare a, b şi numărul de divizări n . Notă. În cazul în care este necesar calculul integralei cu o eroare ce nu depăşeşte o valoare prestabilită e, numărul de divizări n se calculează cu ajutorul formulei n ■ P a su l 2. Se calculează lungimea segmentului elementar h = Qb - d f M 12e \ b - a I + 1. S ^ 0. 59 P a s u l 3 . Pentru toţi i de la 0 la n -1: a) Se calculează valorile x i ^ a+ih; x.+1 ^ a + (i+ 1 )h . b) Se calculează aria trapezului: S, c= h +^ x m \ c) Aria calculată se sumează cu ariile precedente: S ^ S + Si. P a s u l 4 . Se afişează aria totală calculată S. SFÎRŞIT. trapezelor, pentru 20, 40, 80 de divizări ale segmentului de integrare. Atribuirea valorilor iniţiale se face direct în program. Pentru fiecare număr de divizări pe ecran se va afişa valoarea calculată şi numărul de divizări, separate prin spaţiu. R ezolvare: Numărul de divizări ale segmentului de integrare se modifică de la caz la caz prin formula n ^ 2n. program cn17; const r=3; var S, a, b, h : r e a l ; j , i , n : i n t e g e r ; function f(x:real): real; begin f:=1/(sqr(sqr(sin(x)))+sqr(sqr(cos(x)) ) ) ; end; begin a:=0; b:=2*pi; n:=10; for j:= 1 to r do begin S:=0; n:=n*2; h:= (b-a)/n; for i:=0 to n-1 do S: =S+ h * ( f ( a + i * h ) + f ( a + ( i + 1 ) * h ) ) / 2 ; writeln ('n=',n,' I=',S:0:11); end; end. E x e m p lu l 1: Să se calculeze integrala 271 definită ■! cisin4x + cos4jc d x , utilizînd metoda R ezu ltate: n =20 I = 8 . 8 8 3 1 2 4 0 5 5 0 0 n=40 I=8.88576626920 n=80 I=8.88576587630 3 E x e m p lu l 2 : Să se calculeze integrala definită J (3x3 - I x 1 + 2) d x , utilizînd metoda trapezelor, cu o eroare de calcul ce nu depăşeşte valoarea e = 0,001. Atribuirea valorilor iniţiale se realizează direct în program. Pe ecran se va afişa valoarea calculată a integralei şi numărul de divizări necesar pentru a obţine exactitatea cerută. R ezolvare: Numărul de divizări ale segmentului de integrare se calculează direct cu ajutorul formulei (b -a )3M 12e +1. Prin calcule elementare se stabileşte M = 42. 60 program cn18; var S, a , b, e , h, M : r e a l ; j , i : i n t e g e r ; n:longint; function f(x:real): real; begin f :=3*x*x*x-7*x*x+2; end; begin a:=1; b:=3; e: =0 .00 1; M:=42; n : = t r u n c (s q r t ( M * ( b - a ) * ( b - a ) * ( b - a ) / ( 1 2 * e ) ) ) + 1; S : =0; h := ( b - a ) / n ; for i:=0 to n-1 do S: =S+ h * ( f ( a + i * h ) + f ( a + ( i + 1 ) * h ) ) / 2 ; writeln ('n=',n,' I=',S:0:9); end. R ezu ltate: n=168 I=3.333852986 Întrebări si exerciţii O Determinaţi condiţiile în care poate fi aplicată metoda trapezelor. e Care este deosebirea dintre metoda dreptunghiurilor şi cea a trapezelor? e Descrieţi algoritmul metodei trapezelor pentru calculul numeric al integralei. O Care dintre metodele studiate de calculul numeric al integralei definite este mai exactă? Motivaţi. e Calculaţi integralele definite utilizînd metoda trapezelor pentru 10, 20, 30 de divizări ale segmentului de integrare: a) je^dx; c) ; e) I V s in x + c o s x J x ; x 2 + l b) ; d) ; f) . 2n T O Scrieţi un program care calculează integrala definită prin metoda trapezelor cu o eroare ce nu va depăşi valoarea prestabilită e = 0,003; e = 0,0003; e = 0,00003. Valoarea M urmează să fie determinată prin metode analitice: a) ; b) ; c) . Test de evaluare n Selectaţi răspunsul corect: 1. Metoda dreptunghiurilor permite calculul: a) integralei definite; b) integralei nedefinite; c) ambelor tipuri de integrale. 2. Pentru acelaşi număr de divizări ale segmentului de integrare, o eroare mai mică va fi obţinută pentru: a) metoda dreptunghiurilor (de mijloc); c) metoda dreptunghiurilor (de dreapta); b) metoda dreptunghiurilor (de stînga); d) metoda trapezelor. 3. Numărul de divizări ale segmentului de integrare, necesare pentru calculul integralei definite cu o eroare ce nu depăşeşte valoarea prestabilită £, poate fi determinat apriori: a) numai pentru metoda trapezelor; c) pentru ambele metode; b) numai pentru metoda dreptunghiurilor; d) pentru niciuna din metode. 4. Fie J f(x)d x, n - numărul de divizări ale segmentului de integrare, iar . Stabiliţi a ^ corelaţiile dintre formulele de calcul ale integralei definite din coloana stîngă şi denumirile metodelor respective din coloana dreaptă: Dreptunghiuri de mijloc 1 = ~ X (/(* ,)+/(*.+1)) ^ 1=0 "-1 f h a + ih + — 1=0 ra-l / = A£ / ( a+^) i=0 I = hYJf{a + ih) Dreptunghiuri de stînga Dreptunghiuri de dreapta Trapeze 5. b Fie J f{x)d x , £ - valoarea maximă admisibilă a erorii de calcul, M - supremul \f'(x) \ pe [a, b]. a Care dintre formulele de mai jos permite determinarea apriori a numărului de divizări ale segmentului de integrare, ce vor asigura o eroare de calcul fără a depăşi valoarea £ pentru metoda dreptunghiurilor de mijloc: a) n = \(b -d fM ; b) \ b - a fM ~ ; c) \ b - a fM ~ V 12e 4e 2 £ + 1. Calculaţi integralele definite, folosind program ele realizate anterior. Pentru fiecare valoare calculată se va afişa o linie care va conţine cuvîntul „Răspuns:" urmat, după un spaţiu, de soluţia calculată cu şase cifre zecim ale: 4 _________________ 1. Metoda dreptunghiurilor de stînga: J %jx2 -7 x + 8dx pentru 1 000 de divizări ale segmentului de integrare. 2 __________ 2. Metoda dreptunghiurilor de 

Niciun comentariu:

Trimiteți un comentariu