Documente Academic
Documente Profesional
Documente Cultură
Metoda lui Romberg îmbunătăţeşte eficienţa formulelor de cuadratură numerică, aplicând repetat
una din formulele de calcul, în asociere cu înjumătăţirea simultană a intervalului h, deci dublând numărul de
b
intervale pe domeniul [a;b]. Se notează cu Ii ,1 valoarea calculată a integralei I = ∫ f (x ) dx , folosind formula
a
i
trapezelor (5.3), pentru n = 2 intervale pe [a;b], cu i ≥ 0. Dacă se consideră numai două noduri, x0 = a şi
x1 = b, atunci h = (b−a), n = 1, i = 0 şi se obţine:
I0,1 =
(b − a ) [ f (a ) + f (b )] . (6.1)
2
Prin inducţie, se obţine formula Romberg:
i
1 b − a 2 −1 b − a
Ii ,1 = Ii −1,1 + i −1
2 2
∑ f a + i k , unde i ≥ 1 .
2
(6.2)
k =1
∆k = 2
Tabelul 6.1. – Ilustrarea grafică a procedurii de extrapolare Richardson pentru Exemplul 1 (pentru
un număr de intervale n = 8)
Folosind relaţia (6.3) cu α = 2 (eroarea proporţională cu h2), din secvenţa I0,1; I1,1; I2,1; ... Ii,1 determinată cu
metoda Romberg (6.1)−(6.2), se obţine un nou şir I0,2; I1,2;..., luând succesiv câte doi termeni din primul şir.
1
I1,1 − I0,1
De exemplu, I0, 2 = I1,1 + . În continuare, cu relaţia (6.3) şi α = 4, se obţine şirul I0,3; I1,3; I2,3; ...,
22 − 1
luând succesiv câte doi termeni din cel de-al doilea şir, ş.a.m.d. (a se vedea tabelul 6.1).
Calculul este efectuat până la atingerea unei precizii impuse, ε r ≤ ε ad [%], eroarea relativă fiind
evaluată cu relaţia
I −I
ε r = i ,k +1 i ,k 100 [%], i ≥ 0 şi k ≥ 1. (6.4)
Ii ,k +1
Pentru integrarea numerică a unei funcţii de o singură variabilă, domeniul de integrare unidimensional
se discretizează într-un număr de n intervale, echidistante, sau inegal distanţate, funcţia fiind evaluată în
(n+1) noduri. Integrarea numerică a funcţiilor de două sau trei variabile, pe domenii bidimensionale sau
tridimensionale nu este simplă. Admiţând o discretizare cu (n+1) noduri pentru fiecare dimensiune, rezultă,
de exemplu, că într-un domeniu cu două dimensiuni, funcţia de 2 variabile trebuie evaluată în (n+1)2 noduri
de integrare !
În cazul în care frontiera domeniului bidimensional sau tridimensional este simplă, iar
integrandul f (funcţie de două sau trei variabile) are o variaţie foarte netedă în domeniul de integrare şi
dacă se doreşte o acurateţe ridicată, atunci integrarea numerică se recomandă a fi realizată prin utilizarea
repetată a formulelor de cuadratură numerică: formule Newton-Côtes, sau formule de cuadratură Gauss.
Acelaşi procedeu este indicat şi în cazul în care integrandul variază uşor în domeniul de integrare,
acurateţea va fi însă mai scăzută.
Integrala dublă I a funcţiei f(x,y) într-un domeniu bidimensional D se scrie sub forma:
x2 y2 ( x )
I= ∫∫ f (x, y ) dx dy = ∫ ∫ f (x, y ) dy dx .
D x1 y1 ( x )
(6.5)
2
x2 y2 ( x ) z2 ( x , y )
1− x 2
1
Exemplul 2 Ö Aflaţi valoarea integralei duble I = ∫ ∫
−1 −1+ x 2
x 2 + y 2 dy dx , cu formula de cuadratură
Gauss-Legendre şi două noduri de calcul după x, respectiv după y (adică n = 1), apoi determinaţi eroarea
relativă în raport cu valoarea exactă Iex = 2π/3.
1− x 2
Indicaţii: Se notează integrala J (x ) = ∫ x 2 + y 2 dy . Integrala I va fi determinată cu relaţia (6.11):
−1+ x 2
I = J (x1 = −0.57735) + J (x2 = +0.57735) . Pentru x1 = −0,57735 de exemplu, integrala J (x1 ) devine:
+0 , 666
J (x1 ) = ∫ 0,333 + y 2 dy .
−0 , 666
Notă: În Anexă sunt prezentate funcţii GNU Octave pentru calculul integralelor.
3
4. DERIVAREA NUMERICĂ
Derivarea numerică implică evaluarea valorii derivatei unei funcţii f(x), adică df/dx, într-un punct x
oarecare, dacă se cunosc valorile funcţiei f(x) într-o serie de noduri discrete x0, x1, ..., xn. Soluţia constă în a
găsi o funcţie de aproximare adecvată pentru f(x), care să se deriveze în mod simplu, iar apoi se
calculează valoarea derivatei funcţiei de aproximare pentru x dorit. De obicei, se alege ca funcţie de
aproximare un polinom de interpolare pn(x) de gradul n, care trece prin punctele (x0, f(x0)), (x1, f(x1)), ...,
(xn, f(xn)), astfel că:
df ( x ) dp n ( x )
≅ . (6.12)
dx dx
Procesul de derivare numerică tinde să mărească erorile de evaluare, spre deosebire de integrarea
numerică, care le atenuează.
În ipoteza că nodurile xk sunt echidistante cu pasul h, se alege ca polinom de aproximare pn(x), un
polinom Newton N nd (x ) cu diferenţe finite la dreapta, adică:
∆f ( x0 )
(x − x0 ) + ∆ f (x2 0 ) (x − x0 )(x − x1 ) + K
2
p n ( x ) = f ( x0 ) +
1! h 2! h
∆n f (x0 )
+ (x − x0 )(x − x1 )L(x − xn−1 ) . (6.13)
n ! hn
Derivata acestuia va fi:
df (x ) dpn (x ) ∆f (x0 ) ∆2 f (x0 )
≅ = + (2 x − x0 − x1 ) +
dx dx 1! h 2! h 2
∆3 f (x0 ) 2
+
3! h 3
[
3 x + 2(x0 + x1 + x2 )x + (x0 x1 + x0 x2 + x1 x2 ) + K ] (6.14)
xk 1 4 9
yk 1 2 3
4
Aproximaţi funcţia dată tabelar printr-un polinom Newton cu diferenţe finite la dreapta de gradul 2, apoi
evaluaţi numeric derivatele sale de ordinul întâi şi de ordinul 2, pentru x = 6, adică: df ( x ) dx x=6 şi
d 2 f (x ) dx 2 . Calculaţi erorile relative εr în raport cu valorile exacte: d x dx şi d 2 x dx 2 .
x =6 x =6 x =6
APLICAŢII DE LABORATOR
∫∫ ( x ∫ ∫ (x
2 2
+ y ) dxdy = + y ) dxdy cu formula de cuadratură Gauss-Legendre şi două noduri de calcul
D 0 y2
după y, respectiv după x (adică n = 1), apoi determinaţi eroarea relativă în raport cu valoarea calculată
analitic Ianalitic = 0.235714.
1
Problema 2 Ö Să se calculeze integrala A = 2 ∫
−1
1 − x 2 dx utilizând metoda Romberg şi procedura de
Problema 3 Ö Utilizând metodele Romberg, Simpson, Lobato, Gauss, evaluaţi numeric integrala
11
x2
I=
1
∫ 1 + ln x
dx cu o aroare absolută de 0.0001.
Indicaţii: Se vor folosi funcţiile GNU Octave: romberg, quad,quadl, gquad şi gquad6
Rezolvare cu ajutorul următorului Program GNU Octave:
octave#1>function y=f(x)
> y=x.^2./(1+log(x));
> endfunction
octave#2>romberg
#Introduceti extremitatea stanga a intervalului de integrare: a=1
#Introduceti extremitatea dreapta a intervalului de integrare: b=11
#Introduceti numarul n de iteratii: n =16
#Introduceti toleranta estimata: tol =0.0001 # Rezulta quad = 146.79162214171
octave:3># Folosim functia Octave quad
octave:4>format long, i1=quad("f",1,11) # Rezulta: i1 = 146.791621407210
octave:5># Folosim functia Octave quadl
octave:6>i2=quadl("f",1,11) # Rezulta: i2 = 146.791621407209
octave:7># Folosim functia Octave gquad cu doua puncte de integrare Gauss
octave:8>[bp,wf]=grule(2); i3=gquad("f",1,11,1,bp,wf) # Rezulta i3 = 146.687188259625
octave:9># Folosim functia Octave gquad6 cu sase puncte de integrare Gauss
octave:10>i4=gquad6("f",1,11,1) # Rezulta i4 = 146.791165518377
∫ z α e − z F ( z ) dz = ∑ w F (z ) ,
i =0
i i (6.18)
0
5
utilizând polinoame ortogonale Laguerre. Valorile zi şi wi corespunzătoare pentru (n+1) noduri de integrare
sunt indicate în literatura de specialitate: http://mathworld.wolfram.com/Laguerre-GaussQuadrature.html
∞
De exemplu, integrala ∫e
−x
f (x ) dx se reduce la forma (6.18), pentru α = 0, cu schimbarea de
a
variabilă x = (z+a), adică:
∞ ∞ ∞ n
∫ e −x
f ( x ) dx = e
∫
−( z + a )
f ( z + a ) dz = e −a
∫ e − z f (z + a ) dz = e −a ∑ w F (z
i =0
i i + a) . (6.19)
a 0 0
n xi wi
2± 2
2 2± 2
4
Rădăcinile z i ale polinomului Hermite de gradul (n+1), precum şi valorile wi corespunzătoare, sunt
indicate în literatura de specialitate: http://www.efunda.com/math/num_integration/findgausshermite.cfm
6
ANEXA: FUNCŢII GNU OCTAVE PENTRU CALCULUL INTEGRALELOR
b
Integrale Riemann
∫ f ( x)dx
a
⇒ trapz, cumtrapz = metoda trapezelor
⇒ quad =metode de tip Simpson
⇒ quadl = metoda lui Lobato
⇒ quadg = schema de integrare de tip Gauss
1 n
1
⇒ quadc = cuadratură de tip Gauss-Cebîşev
∫ 1− z2
F ( z ) dz = ∑ w F (z ) , ( se ruleaza în prelabil
i =0
i i
−1
funcţia crule)
⇒ gquad = schema de integrare de tip Gauss (se ruleaza în prelabil funcţia grule)
⇒ gquad6 = schema de integrare de tip Gauss cu sase puncte
∞
Integrale Euler speţa II,
∫
Γ(a ) = x a −1e − x dx, a ∈ R
0
⇒ gamma, lgamma, gammainc
1
∫x
( a −1)
Integrale Euler speţa I, B ( a, b) = (1 − x) (b −1) dt
0
⇒ beta, betainc
Integrale duble,
∫∫ f ( x, y)dxdy
D
⇒ quad2dg =integrala 2-D după schema Gauss
⇒ quad2dc = integrala 2-D după schema Gauss-Cebîşev (se rulează în prealabil funcţia crule2d)
⇒ gquad2d = schema de integrare 2-D de tip Gauss (se rulează în prealabil funcţia grule2d)
⇒ gquad2d6 = schema de integrare 2-D de tip Gauss cu şase puncte
⇒ quad2dggen = integrala cu limite variabile 2-D după schema Gauss (se rulează în prealabil funcţia
grule2dgen)
⇒ quad2dcgen= integrala cu limite variabile 2-D după schema Gauss-Cebîşev (se ruleaza în prealabil
functia crule2dgen)
⇒ gquad2dgen = integrala cu limite variabile 2-D după schema Gauss (se ruleaza in prealabil functia
grule2dgen)