c13-integrarea si derivarea numerica.pdf
Post on 24-Dec-2015
67 Views
Preview:
TRANSCRIPT
Cursul 13
Integrarea și derivarea numerică
Integrare şi derivare numerică
Ne propunem să calculăm aproximativ valorile
în condiţiile în care
funcţia este continuă pe intervalul [a, b] şi derivabilă în x0
primitiva F nu este cunoscută
funcţia f este cunoscută numai prin valorile f(xi) pe care le ia într-un număr restrîns de puncte xi, i=0:N
dxxffIb
a
0
pxffD
Integrare şi derivare numerică
Definim o metodă aproximativă de integrare ca
Metoda aproximativă de integrare este slab
convergentă dacă
Teoremă Condiţia necesară şi suficientă ca metoda de integrare IN[f] să conveargă slab
către I[f] se exprimă prin relaţiile
a) există M > 0 astfel încât
pentru toţi N=1,2,...
b) pentru toţi k=0,1,...
N
0i
iNiNN xfAfI
0fIfIlim NN
MaN
0i
iN
b
a
kk
Nn
,dxxxIlim
Metode de tip Newton-Cotes
funcţia pondere w:(a,b)R+, nu modifică
problema, întrucât putem lua g(x)=f(x)*w(x),
iar RN este eroarea (sau restul) formulei
aproximative de integrare.
Metodele de tip Newton-Cotes se bazează pe
integrarea polinomului de interpolare, utilizând ca
suport al interpolării nodurile echidistante în intervalul [a,b], adică
Metodele de integrare de tip Fejer integrează polinomul de interpolare folosind ca noduri xiN -
rădăcinile polinomului ortogonal pN(x), definit
relativ la ponderea w(x)
N
N
0i
iNiN
b
aRxfAdxxwxf
N:0i,N
abiaxiN
Metode de tip Newton-Cotes
Coeficienţii aiN se determină impunând ca formula aproximativă să fie exactă (R=0),dacă f aparţine unei anumite clase de funcţii (de exemplu polinoame de grad N, fN).
Cum funcţia este cunoscută numai în nodurile xi, i=0:N, o vom aproxima prin polinomul ei de interpolare Lagrange
iN
N
0i
iN xfxlxPxf
N
0i
iNiN
b
aN xfAdxxwxP
dxxwxfxldxxwxP iN
b
a
N
0i
iN
b
aN
iN
N
0i
iN
b
aiN
N
0i
iN xfAdxxwxlxf
Metode de tip Newton-Cotes
Printr-o schimbare liniară de variabilă, coeficienţii aiN pot fi făcuţi independenţi de intervalul de
integrare; ei sunt totuşi inutilizabili, fiind de valori
mari şi de semne contrarii, ceea ce conduce la
instabilitate numerică
Expresia erorii în metodele de tip Newton-Cotes
se deduce integrând expresia erorii din polinomul de interpolare: f(x)=PN(x)+EN(x),
b
aiNiN dxxwxlA
NN R
b
aN
fI
b
aN
fI
b
adxxwxEdxxwxPdxxwxf
b,a,dxxwxxxx!1N
fR
b
aN0
1N
N
Metode de tip Newton-Cotes
Datorită instabilităţii interpolării polinomiale se
folosesc polinoame de interpolare cu grad mic.
Astfel pentru N=1 se obţine formula trapezelor
în care şi [a,b]
Pentru N=2 se obţine formula lui Simpson
dxxwxxxx!1N
fR
b
aN0
1N
N
12
fhbfaf
2
hdxxf
3b
a
abN
abh
90
fhbf
2
baf4af
3
hdxxf
iv5b
a
Metode de tip Newton-Cotes
Aproximăm funcţia f, local, pe intervale:
formula compusă a trapezelor
cu
formula compusă Simpson
cu xi=a+ih, i=0:2N
dxxfdxxfdxxfn
1n
1
0
n
0
x
x
x
x
x
x
1N
1i
ihaf2bfaf2
hT
N
abh
N
1i
1N
1i
i21i2 xf2xf4bfaf3
hS
Metode de tip Newton-Cotes
function I= Simpson(n, a, b, f)
% Intrări:
% a,b = capete interval de integrare
% n = ordinul metodei
% f = funcţia de integrat
% Ieşiri: valoarea integralei definite
h =(b-a) / (2*n);
s1 = 0;
s2 = 0;
for i = 1 : n
s1 = s1 + f(a+(2*i-1)*h);
end;
for i = 1 : n-1
s2 = s2 + f(a+2*i*h);
end;
I = h*(f(a) + f(b) + 4*s1 + 2*s2)/3;
Metoda lui Euler
Metodele din această categorie sunt aplicabile, dacă
se cunosc informaţii privind derivatele funcţiei de integrat f(x) la capetele intervalului de integrare.
Considerăm funcţia f(x) continuă, împreună cu
derivatele până la ordinul r inclusiv (f:(a,b)R,
fCr([a,b])) şi polinomul monic de grad r,
pr(x) r.
Întrucât pr(x) este monic, avem evident pr(r)(x)=r!
şi putem scrie
Integrăm prin părţi de r ori:
b
a
r
r
b
a
dxxfxP!r
1dxxffI
Metoda lui Euler
Considerăm dezvoltarea în serie:
Exponenţialele se dezvoltă în serie Taylor
Se identifică termenii de acelaşi grad din cei 2
membri:
dxxfxP
!r
1xfxP1
!r
1fI
b
a
r
r
r
a
br
1k
1kkr
r
1k
0n
nn
t
tx
t!n
xB
1e
te
tx
0n
nnttet
!n
xB1e
0n
nn
0n 1n
n1nn
t!n
xB
!n
t
!n
tx
Metoda lui Euler
relaţie care ne arată că Bn(x) este un polinom de grad n numit polinomul lui Bernoulli.
Bn(x+1)-Bn(x)=nxn-1
Bn’(x)=n*Bn-1(x), n=1,2,…,
Bn(1-x)=(-1)nBn(x)
Numerele lui Bernoulli se definesc ca Bn=Bn(0)
n
1k
1n
kn0 xnxBk
n,1xB
2
xx
2
3xxB,
6
1xxxB,
2
1xxB
23
3
2
21
1
0
n 0dxxB
Metoda lui Euler
şi B2n+1=0
Particularizăm pentru
şi facem schimbarea de variabilă x=a+th cu h=b-a
!n
BC n
n
01Cn
1nC
2
1nC
1
1n
11nn
,6
1C,
2
1C 21
!n2
xBxP,n2r n2
r
b,a,fBhfR
afbfBh2
bfafhfI
n2
n2
1n2
1n
1k
1k21k2
k2
k2
n
Metoda lui Euler
Pentru obţinerea unei formule compuse, împărţim intervalul (a,b) cu N-1 puncte echidistante
şi aplicăm formula de mai sus în fiecare
subinterval. Obţinem în final o relaţie cunoscută
sub numele de formula lui Euler
N
abiaxi
1n
1k
1k21k2k2
k21N
1i
n afbf!k2
Bhihaf
2
bfafhfI
Metoda lui Romberg
Fie IN şi EN valoarea aproximativă a integralei şi
estimarea erorii în metoda compusă a trapezelor.
Valoarea exactă a integralei este I=IN+EN,
Pentru două valori diferite ale lui N avem
I=IN1+EN1=IN2+EN2
b,a,f12
NhE
3
N
1
2
12
1
1
12
1
21
N
N
NN
N
N
NN
N
NN
E
E1
IIE
E
II
E
EE
2
2
2
1
3
1
3
1
3
2
3
2
1
3
11
2
3
22
N
N
N
N
N
abN
N
abN
f12
hN
f12
hN
E
E
1
2
Metoda lui Romberg
Se aproximează f(1)f(2)
Dacă se alege N2=2N1 atunci
Dacă în această formulă înlocuim pe IN şi I2N cu
estimările lor din formula compusă a trapezelor,
2
2
2
1
NN
N
2
2
2
1
NN
N
N
N1
IIII
N
N1
IIE 12
1
12
1
3
II4I
4
11
IIII NN2
N
NN2
N
3
II4I NN2
Metoda lui Romberg
atunci se obţine pentru I estimarea din formula
compusă a lui Simpson.
Estimând acum integrala cu formula compusă a
lui Simpson, în care eroarea are expresia
se obţine
iv
5
N f90
NhE
4
2
4
1
NN
N
N
N1
IIII 12
1
15
II16
14
II4
14
II4II NN2
2
NN2
2
2
NN2
2
N
Metoda lui Romberg
Notăm cu I01, I11,…, IN1 estimările integralelor
calculate cu formula compusă a trapezelor considerând 20, 21,…,2N intervale.
IN1 poate fi obţinut prin recurenţă din IN-1,1 cu
formula:
Integralele Simpson pentru 20, 21,…,2N intervale
se obţin cu formulele:
analog:
12
2i,1i
N1N1,1N1,N
N
i2
abaf
2
abI
2
1I
14
II4I
1,k1,1k
2,k
Metoda lui Romberg
Se formează matricea inferior triunghiulară
I11
I21 I22
...
IN1 IN2 ... INN
Fiecare coloană converge către I, cu atât mai
rapid cu cât este situată mai la dreapta.
Pentru o coloană j, calculul iterativ este oprit în
momentul în care |Ik,j-Ik-1,j|<.|Ik,j| .
14
II4I
2
2,k2,1k
2
3,k
14
II4I
1j
1j,k1j,1k
1j
j,k
Metoda lui Romberg
function R = Romberg(a, b, n, f)
% Intrări:
%a, b = intervalul de integrare
%f = funcţia de integrat
%2n = numărul intervalelor
% Ieşiri:
%R = matrice cu valori integrale
h = b-a;
R(1,1) = h(f(a)+f(b)) / 2;
l = 1;
Metoda lui Romberg
for i = 2 : n
s = R(i-1, 1);
for k = 1 : l
s = s + h.f(a+(k-0.5)h);
end;
R(i,1) = s / 2;
l = 2*l;
p = 1;
for j = 2 : i
p = 4*p;
R(i,j)=(p*R(i,j-1)-R(i-1,j-1))/(p-1);
end;
h = h / 2;
end
Metoda seriei generatoare
Utilizează cea de-a treia formulă de interpolare Newton-Gregory, considerând punctele echidistante x0, x-1, …, x-k
f(x)=f(x0+uh)=pk(u)+E(u)
cu eroarea interpolării
Prin integrarea formulei de mai sus se obţine:
0
k
00k fk
1kuf
1
ufup
1k
1k
fku1uu!1k
huE
Metoda seriei generatoare
în care expresia restului este
Pentru calculul integralei folosim seria:
,Rduk
1kufdu
1
ufdufhdxxf
1
0
x
x
1
0
1
0
1
00
k
00
du1k
kufkR
1
0
1k2k
du
!m
1mu1uuc
1
0m
1k2k
1k0
k
k010
x
xfhcfcfcfhdxxf
1
0
m
0m
mtctC
Metoda seriei generatoare
care este absolut convergentă pentru |t|<1 ,
întrucât |cm|<1. avem
du!m
1mu1uuttC
1
00m
m
1
0
u1
00m
mdut1dut
!m
1mu1uu
t1lnt1
ttC
t1
1t1ln
t
tC
2
10
2
tt1tcc3
t
2
t1
Metoda seriei generatoare
identificăm coeficienţii, obţinând relaţia de recurenţă
Valorile coeficienţilor astfel calculaţi sunt
Metoda este utilizată şi pentru integrarea ecuaţiilor
diferenţiale prin metode multipas.
11m
c
2
cc
01m
m
,188
95,
720
251,
8
3,
12
5,
2
1
Integrarea gaussiană
Pentru calculul unei integrale de forma
cu w:(a,b)R+, o funcţie continuă pe intervalul
finit sau infinit (a,b), vom folosi o metodă de
integrare numerică de forma
În plus se impun condiţiile
să fie absolut
convergente
dxxwxffI
b
a
N
1i
iNiNN xfafI
,1,0k,dxxwx
b
a
k
b
a
2
dxxwxf
Integrarea gaussiană
Metodele de tip Newton-Cotes (pentru suportul x1N, …, xNN) au gradul de valabilitate N-1 (sunt
exacte pentru polinoame până la gradul N-1
inclusiv).
Ne punem problema determinării unor metode
aproximative de integrare cu grad de valabilitate
mai ridicat, pe seama alegerii corespunzătoare a nodurilor xiN.
Determinarea celor 2N necunoscute aiN şi xiN cu
i=1:N, necesită 2N ecuaţii. Formula este, prin
urmare exactă pentru polinoame de la grad până la 2N-1.
I[P]=IN[P], P2n-1
Integrarea gaussiană
Sistemul format, considerând polinoamele P=1,
x,…, x2N-1 este:
fiind neliniar în raport cu xiN, şi nu poate fi rezolvat
uşor în mod direct.
Pentru obţinerea nodurilor xiN, i=1:N, Gauss a
folosit metoda prezentată în cele ce urmează.
Seconsideră polinomul
dxxwAb
a
N
1i
iN
b
a
N
1i
iNiN dxxxwxA
dxxwxxAb
a
1N2N
1i
1N2
iNiN
Integrarea gaussiană
N(x)=(x-x1N)…(x-xNN),
Orice polinom PN-1+q(x) de grad N+q2N-1 se
poate exprima sub forma
PN-1+q(x)= N(x).Qq-1(x) + RN-1(x),
pe baza teoremei împărţirii cu rest.
Dorim ca formula aproximativă de integrare să aibă grad de valabilitate > N-1, adică să fie
exactă pentru polinoamele PN-1+q(x), ceeace
implică
PN-1+q(xiN)=RN-1(xiN)
iN
N
1i
q1NiN
b
aq1N xPAdxxwxP
Integrarea gaussiană
dar formula are cel puţin gradul de valabilitate N-1,
adică
relaţie care arată că N(x) este ortogonal cu orice
polinom de grad < N. Se ştie că, în raport cu o
funcţie pondere w(x) definită pe un interval
(a,b), există un polinom ortogonal unic; aşadar
iN
N
1i
1NiN
b
aq1N xRAdxxwxP
b
a1N1q
b
aN
b
aq1N dxxwxRdxxwxQxdxxwxP
N
1i
iN1NiN
b
a1N xRAdxxwxR
0dxxwxQx 1q
b
aN
Integrarea gaussiană
N(x) este acest polinom ortogonal.
In concluzie, nodurile xiN (abscisele Gauss) sunt
rădăcinile polinomului ortogonal, definit în mod unic în raport cu funcţia pondere w(x).
Coeficienţii AiN se vor determina apoi, rezolvând
ecuaţii, din cele 2N ale sistemului liniar .
Coeficienţii AiN se pot exprima şi prin intermediul
polinomului de interpolare Lagrange. Formula gaussiană având gradul de valabilitate 2N-1, este
exactă şi pentru funcţia
f(x)=l2k,N-1(x), pentru care
kNkN
2
1N,kkNiN
N
1i
2
1N,kiN
b
a
2
1N,k AxlAxlAdxxwxl
Integrarea gaussiană
Eroarea integrării în metoda gaussiană este
Particularizăm pentru polinoamele ortogonale uzuale, obţinând formule de integrare utile
-Cebâşev ordin 1
O funcţie MATLAB care calculează o integrală,
folosind relaţia precedentă este:
dxxwxlAb
a
2
1N,kkN
dxxwx!N2
fR
b
a
2
N
N2
N
N
1i
1
1 2 N2
1i2cosf
Ndx
x1
xf
Integrarea gaussiană
function y=GCeb(f,n)
%integrare Gauss-Cebasev
k=1:n;
x=cos(2*k-1)*pi/2/n;
y=pi/n*sum(feval(f,x));
În scriptul de test, funcţia integrand f se defineşte
cu inline. De exemplu:
F=inline(x*sqrt(x))
Z=Gceb(F,5)
-Cebâşev ordin 2
1N
icosf
1N
isin
1Ndxx1xf
N
1i
22
1
1
Integrarea gaussiană
-Legendre
Dacă limitele de integrare sunt altele decât -1 şi
1, se face o schimbare de variabilă:
N
1i
iNiN
1
1xfAdxxf
iN1N
2
2
iN
iNxLN
x12A
1
1
b
a
dtt2
ab
2
abf
2
abdxxfI
n
1k
kk t2
ab
2
abfA
2
abI
Integrarea gaussiană
Funcţia MATLAB care calculează o integrală
definită Gauss-Legendre este
function y=GLeg(f,a,b,n)
%integrare Gauss-Legendre
z=Leg(n);%coeficienti Ln(x)
x=roots(z);%radacini Ln(x)
xx=(b+a)/2+(b-a)/2*x;
yy=feval(f,xx);
z1=Leg(n-1);
A=2*(1-x.^2)/n^2;
A=A./polyval(z1,x).^2;
y=(b-a)/2*A'*yy;
Integrarea gaussiană
-Laguerre
-Hermite
N
1i
iNiN0
xxfAdxxfe
iN
2
1N
2
iN
iNxG1n
xA
N
1i
iNiN
xxfAdxxfe
2
iN
2
1N
1N
iNxH
!N2A
Integrarea gaussiană
Nodurile xiN reprezintă rădăcinile polinomului
ortogonal corespunzător, iar coeficienţii AiN se obţin
fie prin rezolvarea sistemelor de ecuaţii liniare
deduse, impunând ca formula de integrare să fie exactă pentru polinoame până la gradul N-1, fie
direct cu formulele date.
Metodele gaussiene au o precizie mai mare decât
metodele de tip Newton-Cotes (având gradul de
valabilitate mai ridicat) şi pot fi utilizate şi pentru
calculul unor integrale improprii.
Integrarea dubla
Integrarea dubla
Integrarea dubla
Integrarea dubla
Integrarea dubla
Integrarea dubla
Integrarea dubla
Integrarea dubla
Integrarea dubla
Se notează:
Derivare numerică
Pentru o funcţie fC([a,b]) cunoscută numai
prin valorile f(x0), f(x1),…,f(xn) se cere
aproximarea derivatei f(p)() într-un punct
[a,b].
Aproximarea derivatei se exprimă printr-o
funcţională liniară discretă
Coeficienţii Ai()se determină impunând ca
formula să fie exactă (R()=0) pentru o anumită
clasă de funcţii.
De exemplu pentru baza u0(x),u1(x),…, un(x)
se obţine
RxfAf i
n
0i
i
p
n
0i
iki
p
k xuAu
Derivare numerică
sistem de ecuaţii care ne permite să determinăm necunoscutele Ai().
Utilizarea bazei polinomiale 1, x, x2, …, xn
conduce la sistemul liniar
Funcţia f poate fi înlocuită cu polinomul de
interpolare Lagrange, derivata funcţiei fiind
estimată prin derivata polinomului de interpolare.
n
0i
k
ii ,1p:1k,0xA
n
0i
pkk
ii .n:pk,1pk1kkxA
pn
0i
p
ii
pElxff
Derivare numerică
de unde prin identificare se obţine
Eroarea formulei de derivare este
Formulele de aproximare obţinute pentru prima derivată, considerând punctele xi echidistante sunt de forma:
n:0i,lAp
ii
pn02nn0
px,x,xFxxxxER
)!1kpn(
)(f)(
!k
!p)(R
kp
)1kpn(
)k(
p
0k
Derivare numerică
2
1 0 1 (3)
1
3 4' ( )
2 3
f x f x f x hf x f
h
2
1 1 (3)
0' ( )2 6
f x f x hf x f
h
2
1 0 1 (3)
1
4 3' ( )
2 3
f x f x f x hf x f
h
formule în 3 puncte
Derivare numerică
4
2 1 0 1 2 (5)
1
3 10 18 6' ( )
12 20
f x f x f x f x f x hf x f
h
4
2 1 1 2 (5)
0
8 8' ( )
12 30
f x f x f x f x hf x f
h
4
2 1 0 1 2 (5)
1
6 18 10 3' ( )
12 20
f x f x f x f x f x hf x f
h
formule în 5 puncte
4
2 1 0 1 2 (5)
2
3 16 36 48 25' ( )
12 5
f x f x f x f x f x hf x f
h
4
2 1 0 1 2 (5)
2
25 48 36 16 3' ( )
12 5
f x f x f x f x f x hf x f
h
Derivare numerică
Derivata de ordinul 2 in cazul a 3 noduri echidistante:
Eroarea în acest caz este:
Exemplu derivare numerică
Fie funcţia dată prin tabelul de valori:
Să se calculeze f’(2) şi f′′(2).
top related