Documente Academic
Documente Profesional
Documente Cultură
Teorema 1. Pentru orice n noduri distincte, x1, ..., xn , există n constante A1, A2,
..., An (care nu depind de f ) astfel încât formula
b
∫ w( x) f ( x )dx = A1 f ( x1 ) + A2 f ( x2 ) + ... + An f ( xn ) + R( f )
a
este exactă pentru orice polinom de grad cel mult (n−1).
Demonstraţie. Fie
n
Pn −1 ( x) = ∑ Li ( x) f ( xi )
i =1
polinomul lui Lagrange, care interpolează funcţia f în nodurile { xi }, i = 1, n .
Reamintim că
n x− xj
Li ( x) = ∏ .
j =1 xi − x j
j ≠i
Dacă notăm cu
E(f ; x) = f(x)−Pn−1(x) ,
atunci
n
f ( x) = ∑ Li ( x) f ( xi ) + E ( f ; x)
i =1
şi mai departe
b n⎛b ⎞ b
⎜ ⎟
∫w( x ) f ( x )dx = ∑∫ ⎜ ∫
w( x ) Li ( x )dx f ( xi ) + w( x ) E ( f ; x )dx .
⎟
a i =1 ⎝ a ⎠ a
Notăm cu
b
∫
Ai = w( x ) Li ( x )dx , i = 1, n .
a
Evident Ai nu depind de f , ci de a, b, nodurile xi şi de ponderea w.
Dacă notăm cu
b
∫
R( f ) = w( x ) E ( f ; x )dx ,
a
atunci
b
∫ w( x) f ( x )dx = A1 f ( x1 ) + A2 f ( x2 ) + ... + An f ( xn ) + R( f ) .
a
Dacă f este un polinom de grad cel mult (n−1), atunci E(f;x)=0 şi deci
R( f )=0 (Capitolul IV, §1, Observaţia 1).
Există trei tipuri de formule de integrare numerică:
Integrarea şi derivarea numerică 163
1. Formule Newton−Côtes,
2. Formule Gauss,
3. Formule Romberg.
În cele ce urmează vom prezenta primele două tipuri de formule.
Introducem notaţiile:
164 Bazele Analizei Numerice
(−1) n −i C ni nπ
n +1 (t )
di = ∫ dt , i=0 ,n (2)
n! 0 t −i
şi
h n+ 2 n ( n +1)
R( f ) = ∫ π n+1 (t ) f (ξ t )dt . (3)
(n + 1)! 0
Numerele { di }, i = 0, n , se numesc coeficienţii Newton−Côtes. Prin
urmare avem
b n
∫ f ( x)dx = ∑ Ai f ( xi ) + R( f ) (4)
a i =0
unde Ai = hdi , i = 0, n .
Primele trei formule Newton−Côtes au nume speciale.
Dacă n=1 obţinem formula trapezelor. În acest caz h = b−a,
(−1)1 C10 1 t (t − 1) 1
1 (−1) 0 C11 1 t (t − 1) 1 1
d0 = ∫ dt = − ∫ (t − 1) dt = , d 1 = ∫ dt = ∫ tdt =
1!
0
t
0
2 1! 0 t −1 0 2
Rezultă
h
A1 = A2 = .
2
Formula trapezelor este
b b−a
∫ f ( x)dx = [ f (a) + f (b)] + R( f ) (5)
a 2
h3 1
R( f ) = ∫ f " (ξ t ) t (t − 1)dt .
2 0
Dacă f∈C2[a,b] şi notăm cu M2=sup{ ⎜f"(x)⎢; x∈[a,b] } atunci
3
(b − a ) M 2 1 (b − a ) 3
R( f ) ≤ ∫ t (t − 1) dt = M2 (6)
2 0 12
y f
O a b x
Integrarea şi derivarea numerică 165
3
M2 ⎛b − a⎞ M2
R( f ) ≤ n ⎜ ⎟ = 2
(b − a )3 . (11)
12 ⎝ n ⎠ 12n
Formula (10) se numeşte formula trapezelor repetată.
2.5
2
Exemplul 1. Să se calculeze valoarea aproximativă a integralei ∫ sin( x )dx ,
0.5
folosind funcţia MATLAB trapz , şi luând pasul h=0.1 .
Integrarea şi derivarea numerică 167
function g=f(x)
g=sin(x.^2); % integrandul
după care se apelează cu secvenţa: quad('f',0.5,2.5,0.00001) şi se va afişa valoarea
0.3890. Am considerat eroarea relativă dintre doi paşi consecutivi 10−5.
Definiţia 1. Dacă
b
∫ w( x) f ( x) g ( x)dx = 0
a
atunci spunem că funcţiile f şi g sunt ortogonale pe [a, b] în raport cu ponderea
w.
a
pentru orice polinom Q de grad cel mult (n−1).
Integrarea şi derivarea numerică 169
b
[
∫ w( x) λ0 + λ1 x + ... + λ n−1 x
n −1 2
]dx = 0 (7)
a
Din (7) rezultă:
w(x) [λ0+λ1x+ ... +λn−1xn−1]2 = 0
pentru orice x∈[a,b]. Cum w se anulează numai într−−un număr finit de puncte
din [a,b], rezultă λ0+λ1x+ ...+λn−1xn−1=0. Am ajuns astfel la o contradicţie.
Aşadar, detC ≠ 0 deci sistemul (4) admite soluţie unică.
Dacă notăm cu a 0* , a1* , ..., a n* −1 soluţia sistemului (4), atunci
Pn* ( x) = a 0* + a1* x + ... + a n*−1 x n−1 + x n
şi cu aceasta teorema este demonstrată.
⎧ c 0 a 0 + c1a1 + c 2 a 2 = −c3
⎪
⎨c1a 0 + c 21a1 + c3 a 2 = −c 4 (9)
⎪ c a + c a + c a = −c
⎩ 2 0 3 1 4 2 5
Înlocuind (8) în (9) rezultă
⎧ 2
⎪2 a 0 + 3
a2 =0
⎪⎪ 2 2
⎨ a1 =−
⎪ 3 5
⎪ 2a +
2
a2 =0
⎪⎩ 3 0 5
3 3
care admite soluţia: a0 = a2 = 0 ; a1 = − . Aşadar, P3* ( x) = x 3 − x .
5 5
Primele şase polinoame Legendre sunt:
1 3 6 3 10 15
1 ; x ; x2 − ; x3 − x ; x4 − x2 + ; x5 − x3 + x
3 5 7 35 9 63
1
Fie [a,b] = [−1,1] şi w(x)= .
2
1− x
1 1 1 x
1
c0 = ∫ dx = arcsin x −1 = π ; c1 = ∫ dx = 0 .
−1 1 − x 2 −1 1 − x 2
1 xk
Pentru calculul coeficienţilor c k = ∫ dx , facem schimbarea de
−1 1− x2
variabilă x = sin t şi obţinem
π π
2 k −1 2 k −2 k −1
c k = ∫ sin k xdx = ∫ sin xdx = ck −2 .
π k π k
− −
2 2
Rezultă ck = 0 pentru orice k impar şi
π 3 π 5 3 π
c2 = ; c 4 = ⋅ ; c 6 = ⋅ ⋅ etc.
2 4 2 6 4 2
Să determinăm polinomul Cebîşev de speţa I, T3* . Sistemul (4) devine
⎧ π
⎪ πa 0 + 2
a2 =0
⎪⎪ π 3π
⎨ a1 =−
⎪ 2 8
⎪π a + π
a2 =0
⎪⎩ 2 0 4
172 Bazele Analizei Numerice
3 3
care admite soluţia: a0 = a2 = 0, a1 = − . Aşadar T3* = x 3 − x .
4 4
În Capitolul IV, §3 am arătat că polinomul Cebîşev de gradul trei este:
T3(x)=4x3−3x. După cum am precizat în Teorema 1, polinomul ortogonal se
determină în afara unui factor constant de multiplicare.
Observăm că avem T3 = 4 T3* şi în general Tn=2n−1 Tn* , n∈N.
b b n
∫ w( x) f ( x) dx − I n = ∫ w( x) f ( x) dx − ∑ Ai f ( xi ) ≤
( n) ( n)
a a i =1
[ ]
b n
∫ w( x) [ f ( x) − Pε ( x)] dx + ∑ Ai Pε ( xi ) − f ( xi ) ≤
( n) (n) ( n)
≤
a i =1
b n
≤ ∫ w( x) f ( x) − Pε ( x) dx + ∑ Ai( n) Pε ( xi( n) ) − f ( xi( n) ) <
a i =1
⎛b n ⎞ b
⎜
< ε ∫ w( x) dx + ∑ Ai (n) ⎟
= 2ε ∫ w( x)dx .
⎜ ⎟
⎝a i =1 ⎠ a
b n
( n)
Am folosit faptul că ∫ w( x)dx = ∑ Ai .
a i =1
Aşadar,
b
lim I n = ∫ w( x) f ( x)dx
n→∞ a
şi cu aceasta teorema este demonstrată.
a+b c+d
unde x1 = , y1 = .
2 2
Pentru o mai bună aproximare a integralei se folosesc formulele repetate.
Dacă domeniul de integrare nu este un dreptunghi, atunci se construieşte
un dreptunghi D* , cu laturile paralele cu axele de coordonate şi care include
dreptunghiul D . Considerăm funcţia auxiliară
Integrarea şi derivarea numerică 177
⎧ f ( x, y ) dacă ( x,y) ∈ D
f * ( x, y ) = ⎨
⎩0 dacă ( x,y) ∈ D*\D
Integrala pe D se va aproxima cu y
*
∫∫ f ( x, y )dxdy ≅ ∫ f ( x, y )dxdy ,
D D*
O x
Particularizându-l pe n obţinem:
P0(x;x0) = f(x0)
P1(x;x0, x1) = f(x0) + (x−x0) f[ x0, x1]
P2(x;x0, x1, x2) = f(x0) + (x−x0) f[ x0, x1]+ (x−x0) (x−x1) f[ x0, x1, x2]
......................
Pn(x) = f(x0) + (x−x0) f[ x0, x1] +...+ (x−x0)...(x−xn−1) f[ x0, x1, ..., xn] (5).
Forma (5) a polinomului de interpolare poartă numele de polinomul de
interpolare al lui Newton.
În continuare prezentăm principalele proprietăţi ale diferenţelor divizate.
1) Diferenţa divizată de ordinul n este invariantă la permutarea nodurilor, adică:
f[ x0, x1, ..., xn]= f [ xi0 , xi1 , ..., xin ] .
(x n − x0 )
R( x n ) = − f ( xn ) = f ( xn )
x n − x0
Pentru nodurile xi , i = 1, n − 1 avem
( x − x 0 ) f ( xi ) − ( xi − x n ) f ( xi )
R ( xi ) = − i = f ( xi )
x n − x0
Aşadar, R ( xi ) = f ( xi ), i = 0, n, deci R ( x) ≡ Pn (x; x 0 ,..., x n ) conform unicităţii
polinomului de interpolare Lagrange. Egalând coeficientul lui xn din membrul
stâng al relaţiei (8) cu coeficientul lui xn din membrul drept al acestei relaţii
f [x1 ,..., x n ] − f [x0 ,..., x n−1 ]
obţinem f [x0 ,..., x n ] = .
x n − x0
3) Dacă f este de clasă C n+1 , atunci pentru orice t ∈ [a, b] , t ≠ xi , i = 0, n
f ( n+1) (ξ t )
avem f [x0 , x1 ,..., x n , t ] = , unde ξ t∈ [a, b ] .
(n + 1)!
Într-adevăr, fie Pn +1 ( x ) = Pn +1 ( x; x 0 ,..., x n , t ) polinomul Lagrange care
interpolează funcţia f în nodurile x 0 ,..., x n , t . Atunci avem
Pn+1(x) = Pn(x) + (x−x0) ... (x−xn) f[ x0, x1, ..., xn, t].
Deoarece Pn +1 (t ) = f (t ) rezultă că eroarea în punctul t este
E(f;t) = f(t) − Pn(t) = (t−x0) ... (t−xn) f[ x0, x1, ..., xn, t]. (9)
Pe de altă parte din Teorema 2, §4.1 ştiim că dacă f este de clasă C n+1 , atunci
există ξ t∈ [a, b ] astfel încât
f ( n+1) (ξ t )
E( f ; t) = (t − x0 )...(t − x n ) (10)
(n + 1)!
Din (9) şi (10) rezultă
f ( n+1) (ξ t )
f [x0 , x1 ,..., x n , t ] = , unde ξ t ∈ [a, b]. (11)
(n + 1)!
⎧⎪ n ⎫⎪ n
unde Tn = ⎨(t1 ,..., t n ) ∈ R n t i ≥ 0, i=1,n, ∑ t i ≤ 1⎬ , iar t0 = 1 − ∑ ti .
⎪⎩ i=1 ⎪⎭ i =1
0 0 x1 − x0
f ( x1 ) − f ( x0 )
= = f [x0 , x1 ]
x1 − x0
1 ⎡ ⎤
1 1
= ⎢ ∫ f (x 2 + t1 ( x1 − x 2 )dt1 − ∫ f ′( x0 + t1 ( x1 − x0 )dt1 ⎥ =
′
x 2 − x0 ⎢ ⎥⎦
⎣0 0
1
= ( f [x1 , x2 ] − f [x0 , x1 ] ) = f [x0 , x1 , x2 ]
x2 − x0
f ( x1 ) − f (x0 )
f ′( x0 ) ≈ (2)
h
Pentru n = 2 avem
P2 (x; x 0 , x1 , x 2 ) = f ( x 0 ) + (x − x 0 ) f [x 0 , x1 ] + (x − x 0 )(x − x1 ) f [x 0 , x1 , x 2 ] deci
f ( x1 ) − f (x0 )
În concluzie, în cazul a două noduri avem f ′( x0 ) ≈ şi eroarea este
h
dată de relaţia
f ( x1 ) − f (x0 ) h
f ′( x0 ) − = − f " (ξ x0 ) (6)
h 2
unde ξ x0 ∈ ( x0 , x1 ) .
h2
f ′( x0 ) − P2′ f ( x0 ; x 0 , x1 , x 2 ) = f ′′′(ξ x0 ), unde ξ x 0 ∈ ( x 0 , x 2 ) .
3
În concluzie, în cazul a 3 noduri echidistante derivata se aproximează cu expresia:
− 3 f (x0 ) + 4 f (x1 ) − f (x 2 )
f ′( x0 ) ≈ = Dh f ( x 0 )
2h
h2
iar eroarea care se face este f ′( x0 ) − Dh f (x0 ) = f ′′′(ξ x0 ) (7)
3
În sfârşit să vedem cum se poate aproxima derivata de ordinul 2.
În cazul a 3 noduri echidistante avem
f ′′( x 0 ) = P2′′ ( x0 ; x0 , x1 , x 2 ) = 2 f [x 0 , x1 , x 2 ] =
f ( x 2 ) − 2 f ( x1 ) + f ( x 0 ) (8)
=
2
h
Se poate arăta că eroarea în acest caz este
h 2 IV
f " ( x0 ) − P2′′( x0 ) = − f (ξ x0 ) , unde ξ x0 ∈ ( x0 , x2 ) (9)
12
Derivarea numerică în MATLAB.
184 Bazele Analizei Numerice
Exemplu 1.
Să se aproximeze derivata funcţiei f(x) = ln(x4+x2+1) pe intervalul [0.5, 2.5] în
puncte echidistante (h = 0.1) folosind MATLAB. Secvenţa care realizeză această
aproximare este:
% Calculul derivatei numerice
x = 0.5:0.1:2.5; % punctele in care se face aproximarea
f(x) = log(x.^4+x.^2+1); % functia a carei derivata se doreste
disp('Valorile derivatei');
df = diff(log(x.^4+x.^2+1))./diff(x)
Se va afisa:
Valorile derivatei
1.2657 1.4967 1.6947 1.8499 1.9597 2.0270 2.0579 2.0600 2.0406
2.0060 1.9612 1.9100 1.8552 1.7989 1.7423 1.6866 1.6323 1.5798
1.5293 1.4809
Pentru calculul derivatei folosind diferenţele centrate se poate scrie secvenţa
MATLAB:
% Calculul derivatei numerice folosind diferentele divizate
x=0.55:0.1:2.5; % punctele in care se face aproximare
g=log(x. ^4+x. ^2+1; % functia a carei derivata se doreste
dg=g(3:length(g))−g(1:length(g)−2);
dx=x(3:length(x))−x(1:length(x)−2);
disp(‘Valorile derivatei’);
dy=dg./dx % derivata in punctele x=0.6 , 0.7 pana la 2.4
Se afişează rezultatele:
Valorile derivatei
Integrarea şi derivarea numerică 185
xi 0 2
f(xi) 1 5
Să se calculeze f ′(0) folosind derivata polinomului de interpolare al lui
Lagrange.
Aproximând funcţia cu polinomul de interpolare al lui Lagrange, conform
(2) rezultă
f ( x1 ) − f ( x0 ) 5 −1
f ′( x0 ) ≈ , f ′( x0 ) ≈ =2 .
h 2
186 Bazele Analizei Numerice
Să se calculeze f ′( 2) şi f ′′( 2) .
Aproximând funcţia cu polinomul de interpolare al lui Lagrange, conform
(3) rezultă
− 3 f (x0 ) + 4 f (x1 ) − f (x2 ) − 3 ⋅ 3 + 4 ⋅ 11 − 27
f ′( x0 ) ≈ , f ′(2) = =2 .
2h 2⋅2
De asemenea conform (8)
f ( x2 ) − 2 f ( x1 ) + f ( x0 ) 27 − 2 ⋅ 11 + 3
f ′′( x0 ) = , f ′′(2) = =2.
2 4
h
Integrarea şi derivarea numerică 187
Exerciţii
π
2 cos x
2. ∫ dx , considerând n = 4 subintervale egale.
π x
10
π π π π π
R. h= , xi = +i⋅ , i = 1,3 , a = , b= , I=0.86398 .
10 10 10 10 2
x2
3 −
3. 2 dx , considerând n = 4 subintervale egale.
∫e
0
3
R. h= = 0.75 , xi = 3 ⋅ i , i = 1,3 , a = 0 , b = 3 , I = 2.24845 .
4
Pentru fiecare din cele trei exerciţii de mai sus să se calculeze valoarea
aproximativă a integralei dublând valoarea lui n .
π
2 sin x
6. ∫ dx (m = 8 )
π x
12
5π π π π π
R. n=4, h= , xi = +i⋅ , i = 1,7 , a = , b= ,
96 12 96 12 2
I = 1.00966 .
x2
3 −
7. 2 dx , (m = 8 )
∫e
0
3 3
R. h= = 0.375 , xi = ⋅ i , i = 1,7 , a = 0 , b = 3 , I = 2.24991 .
8 8
8. Fie funcţia dată prin tabelul de valori:
xi 0 2
f(xi) -1 3
1
2
R. Înlocuind x cu t+1 integrala devine ∫ sin(t + 1) dx şi acesteia i se
−1
poate aplica formula Gauss−Legendre de ordinul 3. Ţinând seama de Exemplul
din Capitolul 5 §2 se obţine I=0.31028 .
unde
b−a d −c
h= , k= , xi = a + ih , i = 1,n-1 , y j = c + jk , j = 1,m-1
n m
a) a = −0.5 , b = 0.5 , c = −1 , d = 1 , h = 0.25 , k = 0.5 , I = 1.33754
b) Se trece la coordonate polare pentru a transforma sfertul de disc de rază
2 din cadranul întâi într−un dreptunghi
⎧ ⎡ π⎤
⎪ x = ρ ⋅ cos θ θ ∈ ⎢0, 2 ⎥
⎪ ⎣ ⎦
⎨ , iar iacobianul este J = ρ
⎪ y = ρ ⋅ sin sθ ρ ∈ [0, 2]
⎪
⎩
şi se aplică formula de mai sus integralei
Integrarea şi derivarea numerică 191
π
( )
2 2 2⎛ 2 2 ⎞
I = ∫∫ e − x + y dxdy = ∫ ⎜ ∫ ρ ⋅ e − ρ dρ ⎟dθ
⎜ ⎟
D 0⎝0 ⎠
şi rezultă I = 0.73332 .
15.
(
∫∫ 2
)
ln x 2 + y 2
dxdy , mulţimea de integrare fiind precizată de
2
D x + y
a) D = { (x,y)∈R2 | 1≤x≤2 , 0≤y≤2 } ,
b) D = { (x,y)∈R2 | 1≤x2+y2≤4 , 0≤x , 0≤y }
folosind formula trapezelor cu n = 2 subintervale egale pe axa Ox şi m = 4
subintervale egale pe axa Oy.
R. a) Înlocuind în formula (1)
a = 1 , b = 2 , c = 0 , d = 2 , h = 0.5 = k şi f ( x, y ) =
( )
ln x 2 + y 2
x2 + y2
se obţine I = 0.636 .
b) Trecând la coordonate polare se aplică formula (1) pentru
π 2 ln ρ
a=1, b=2, c=0, d= , f ( ρ ,θ ) =
2 ρ
şi se obţine I = 0.73976 .