Академический Документы
Профессиональный Документы
Культура Документы
3. INTEGRAREA NUMERICĂ
xk x0 x1 ... xn
yk = f(xk) y0 y1 ... yn
unde x0 = a < x1 < ... < xn-1 < xn = b sunt noduri echidistante în intervalul [a; b] . Pasul de discretizare (în
ipoteza că discretizarea intervalului [a; b] se efectuează cu pas constant) se calculează cu relaţia:
b−a
h= = xk − xk −1 , unde k = 1, n . (5.1)
n
O modalitate simplă de calcul aproximativ al integralei
b
I = f ( x ) dx
∫ (5.2)
a
constă în găsirea unei funcţii care să aproximeze satisfăcător pe f (x ) şi să fie uşor de integrat. Deoarece se
presupune că funcţia f (x ) se calculează, sau este cunoscută doar în nodurile xk, apare ca logică alegerea unui
polinom de interpolare.
În această metodă, formula utilizată pentru calcul aproximativ al integralei I se numeşte regula
extinsă a trapezelor:
xn =b
h
I= ∫ f ( x ) dx ≅ 2 ( y
x a
0 + 2 y1 + 2 y 2 + ... + 2 y n −1 + y n ) , (5.3)
0=
cu a, b ∈ R şi f (x ) ≠ 0 pe [a; b] .
Pentru evidenţierea influenţei numărului de intervale n, se subliniază că eroarea de aproximare este
de ordinul O(1/n2). Conform relaţiei (5.3), dacă f (x ) ≥ 0 pe [a; b] , integrala I este reprezentată geometric de
către aria cuprinsă între curba y = f (x ) şi axa absciselor, între abscisele x0 = a şi xn = b, fiind aproximată
prin suma ariilor trapezelor de înălţime constantă h. Dacă discretizarea intervalului [a; b] este suficient de
fină, atunci valoarea calculată cu regula trapezelor se aproprie cu ordinul O(1/n2) de valoarea exactă a
integralei I.
Exemplul 1 Ö Integrarea numerică prin metoda trapezelor
Fie funcţia f (x ) = 1 + x + 0,4 x 2 − 0,1 x 3 , cu x ∈ [0; 4] . Folosind metoda trapezelor, evaluaţi numeric
4
integrala I = ∫ f (x ) dx , pentru 4, 8, 16 paşi pe domeniul de integrare (adică n = {4; 8; 16} în relaţia (5.1)).
0
Rezolvare: Fie diviziunea echidistantă a intervalului [0;4] de pas h=1, deci x0=0, x1=1, x2=2, x3=3, x4=4.
Atunci I = (1 2)( f (0 ) + 2 f (1) + 2 f (2) + 2 f (3) + f (4)) = 12.35 . Dacă vom lua o diviziune echidistantă a
intervalului [0;4] de pas h=1/2, apoi de pas h=1/4, obţinem pentru I o valoare de 14.1, respectiv de 14.125
(valoarea exactă a integralei este Iex = 14.133)
Algoritm:
1. Informaţia iniţială: Scrie funcţia y = f(x) şi citeşte extremităţile intervalului de integrare a şi b, numărul de
subintervale n ale diviziunii lui [a;b]; Calculează pasul h ← (b-a)/n şi valorile xk: x ← a:h:b
2. Pentru i = 2:(n-1), calculează suma următoare: s1 ← ∑f(xi)
3. Calculează integrala (notată Ia) cu formula (5.3): Ia ← h*(f(a)+f(b))/2+h*s1
Program GNU Octave pentru determinarea integralei din f (x ) între a şi b (pentru Exemplul 1, cu 500 de
subintervale)
octave#1>function y = f(x)
y = 1 + x + 0.4*x.^2 - 0.1*x.^3;
endfunction
octave#2>a=0; b=4; n=500; h=(b-a)/n; x=a:h:b; lg=length(x);
octave#3>s1 = dot(x(2:lg-1),f(x(2:lg-1)))
octave#4>Ia = s1*h + h*(f(x(1))+f(x(lg)))/2
Ö Observaţie importantă: Este posibil ca domeniul de integrare să fie discretizat cu paşi inegali:
(xk − xk −1 ) pentru k = 1, n . În acest caz, aria definită de integrala I poate fi aproximată prin suma ariilor
trapezelor de înălţime variabilă (xk − xk −1 ) , sub forma:
xn =b
(x1 − x0 )( y0 + y1 ) + (x2 − x1 )( y1 + y 2 ) + ... + (xn − xn−1 )( y n−1 + y n ) .
I= ∫ f ( x ) dx ≅
x a
2 2 2
(5.4)
0=
Formula (5.4) reprezintă regula extinsă a trapezelor pentru noduri xk inegal distaţate ( k = 0, n ). Dacă
funcţia este dată tabelar prin vectorii x = [x1 x2 . . . xn] cu pas variabil şi y = [y1 y2 . . . yn], atunci un program
GNU Octave pentru calculul integralei din y(x) între x = x1 şi x = xn se poate scrie astfel (conform formulei
(5.4):
octave#1> df = diff(x);
octave#2>for i=1:(n-1)
z(i) = y(i)+y(i+1);
endfor
octave#3>integrala =dot(df,z)/2
Ö Notă: Formulele de integrare numerică (5.3) şi (5.4), care utilizează valorile funcţiei din noduri
plasate pe întregul domeniu de integrare, se numesc formule de formă închisă.
Integralele improprii convergente pot fi calculate cu formule Newton-Côtes, de formă deschisă
sau semi-deschisă. Când valorile funcţiei la capetele intervalului sunt greu de determinat, ori atunci când în
x0 = a şi/sau xn = b apar singularităţi ale funcţiei, se recomandă efectuarea integrării numerice pe baza
formulelor de formă deschisă, care utilizează numai nodurile din interiorul intervalului, anume [x1, x2, ... ,
xn-1], capetele x0 şi xn fiind excluse (se subliniază că intervalul [x0; xn] este discretizat cu pas constant).
Există şi formule de formă semi-deschisă, care utilizează nodurile din interior şi unul din capetele
intervalului.
De exemplu, formula de formă deschisă a regulii extinse a trapezelor este:
xn =b
h
I= ∫ f (x ) dx ≅ (3 y 1 + 2 y 2 + 2 y 3 + ... + 2 y n −2 + 3 y n −1 ) , (5.5)
x =a
2
0
respectiv formula de formă semi-deschisă a regulii extinse a trapezelor (închisă la stânga şi deschisă la
dreapta intervalului) este:
xn =b
h
I= ∫ f ( x ) dx ≅ 2 ( y
x =a
0 + 2 y1 + 2 y 2 + ... + 2 y n −2 + 3 y n −1 ) . (5.6)
0
Exemplul 2 Ö Integrarea numerică prin metoda trapezelor: integrală improprie de speţa I-a
∞ ∞
x
Fie funcţia f ( x ) = x e . Să se calculeze integrala I =
x
∫ f (x ) dx = ∫ e x dx , folosind metoda
1 1
trapezelor.
Rezolvare: Cu schimbarea de variabilă x = 1 u , integrala improprie de speţa I-a se transformă într-o
1 1
1 1
integrală improprie de speţa a II-a, anume integrala din funcţia g(u) între 0 şi 1: I = g (u ) du = ∫ ∫u 3 1u
du ,
0 0
e
unde g(u) → ∞ pentru u → 0. Pentru determinarea integralei, vom aplica o formula de tip (5.6), semi-
deschisă la stânga şi închisă la dreapta. Astfel, dacă vom considera o discretizare a intervalului [0;1],
echidistantă de pas 0.01 (adică n = 100), programul de calcul GNU Octave se scrie:
octave#1>function y = f(x)
y = (1./x.^3)./exp(1./x);
endfunction
octave#2>a=0; b=1; n=100; h=(b-a)/n; x=a:h:b; lg= length(x);
octave#3>s1 = dot(x(3:lg-1),f(x(3:lg-1)))
octave#4>Ia = s1*h + h*(3*f(x(2))+f(x(lg)))/2
Dacă se admite n par, adică un număr par de intervale pe domeniul [a; b] , respectiv un număr
impar de noduri echidistante pe domeniu, atunci se obţine:
xn =b n par
h
I= ∫ f ( x ) dx ≅ 3 ( y
x =0
0 + 4 y1 + 2 y 2 + 4 y 3 + ... + 2 y n − 2 + 4 y n −1 + y n ) . (5.7)
0
Formula (5.75) se numeşte regula lui Simpson extinsă. Eroarea de aproximare a integralei este de ordinul
O(1/n4), fiind astfel mai mică decât eroarea corespunzătoare metodei trapezelor.
Pentru cazul integrării cu doi paşi pe domeniul de integrare (n = 2 ) , deci pentru 3 noduri
echidistante, formula (5.7) se reduce la:
x2 =b
h
I= ∫ f ( x ) dx ≅ 3 ( y
x =a
0 + 4 y1 + y 2 ) , (5.8)
0
numită regula lui Simpson, sau regula 1/3 a lui Simpson. Datorită simetriei stânga-dreapta a formulei în
trei noduri (5.8), aceasta este exactă pentru funcţii polinomiale f(x) de grad ≤ 3.
∫ F ( z ) dz = ∑ w F (z ) ,
i =0
i i (5.11)
−1
unde wi sunt coeficienţi de pondere, iar cele (n+1) noduri de integrare zi , i = 0, n sunt rădăcinile
polinomului Legendre de ordinul (n+1) (vezi Anexa). Utilizând (5.11), integrala I (5.10) devine:
b
(b − a)
1
(b − a ) n
I= ∫ f (x ) dx =
2
F ( z ) dz =
∫ 2
∑ w F (z ) .
i =0
i i (5.12)
a −1
În tabelul 5.1. sunt indicate nodurile de integrare zi şi coeficienţii de pondere wi corespunzători, pentru
un număr de intervale n = 1; 2; 3, corespunzând unor formule cu (n+1) = 2; 3; 4 noduri pe interval.
∫( )
Să se calculeze integrala I = 16 x 2 − 50 x + 40 dx , folosind o formulă de cuadratură de tip Gauss-
1
Cebîşev cu 3 noduri (n = 2 ) pe domeniul z∈[-1;1]. Determinaţi eroarea relativă procentuală faţă de valoarea
exactă a integralei: ε rx = 100 (Iexact − Inumeric ) Iexact [%], dacă Iexact = 2.3333.
Rezolvare: Se observă că integrala din Exemplul 5 nu este de forma (5.14), deci pentru a o aduce la acea
formă, se va înmulţi şi împărţi integrandul cu 1 − z 2 . Se parcurg următorii paşi:
Pasul 1: Se face schimbarea de variabilă z ← x şi schimbarea domeniului de integrare [-1; 1] ← [a; b];
Pasul 2: Se determină funcţiile F(z) ← f(x) şi ψ(z ) ← F (z ) 1 − z 2 ;
(2i + 1) π
Pasul 3: Se calculează nodurile de integrare z i = cos , i = 0,2 ;
(n + 1) 2
1 n
1 π
Pasul 4: Se aplică formula (5.16) pentru cazul considerat: ∫ 1− z2
ψ ( z ) dz = ∑ψ( z ) , unde n = 2 .
(n + 1) i =0 i
−1
Astfel, pentru n oarecare rezultă:
b
f ( x ) dx =
(b − a)
1
(b − a)
1
1− z2 (b − a)
1
1
I= ∫
a
2 ∫ F ( z ) dz =
−1
∫2 −1 1− z2
F ( z ) dz =
2 ∫
−1 1− z2
ψ ( z ) dz =
(b − a ) π n
=
2
∑ ψ(z )
(n + 1) i=0 i
(5.17)
APLICAŢII DE LABORATOR
11
x2
Problema 1 Ö Evaluaţi numeric integrala I =
1
∫ 1 + ln x
dx , atât prin metoda trapezelor, cât şi prin metoda
cât şi prin metoda Gauss-Cebîşev cu 3 noduri. Notă: În GNU Octave, pentru metoda Gauss-Cebîşev se
foloseşte funcţia quadc.
∫e
cos x
Problema 3 Ö Calculaţi valoarea aproximativă a integralei I = dx , folosind metoda Simpson, cu
−π
n = 8 paşi pe domeniul de integrare şi metoda Gauss-Legendre cu 3 noduri.
Program GNU Octave (se vor utiliza funcţiile GNU Octave gquad şi gquad6):
octave:1>function y = f(x), y = exp(cos(x)); endfunction
# Folosim functia Octave gquad cu 3 puncte de integrare Gauss
octave:2>[bp,wf]=grule(3); i1=gquad("f",-pi,pi,1,bp,wf)
# Folosim functia Octave gquad6 cu 6 puncte de integrare Gauss
octave:3>i2=gquad6("f",-pi,pi,1)