Documente Academic
Documente Profesional
Documente Cultură
Cursul 10
2019
Anca Ignat
Interpolare Newton pe noduri echidistante
1
f ( x ) f ( x h) f ( x )
Pornind de la această definiție se pot introduce și diferențe
finite de ordin superior:
2 f ( x ) ( f ( x )) ( f ( x h) f ( x ))
f ( x 2 h) 2 f ( x h) f ( x )
și în general se pot introduce recursiv diferențele finite de
ordin k:
k f ( x ) ( k 1 f ( x )) k 1 f ( x h) k 1 f ( x ) .
Prin inducție după k, se poate deduce formula de calcul a
diferențelor finite de ordin k folosind doar valorile funcției f:
k
k f ( x ) ( 1)k i C ki f ( x i h)
i 0 .
2
Observație: Dacă funcția f este polinom de grad m atunci
f ( x ) este polinom de grad m-1, 2 f ( x ) este polinom de
grad m-2, ş.a.m.d. Prin urmare:
k f ( x ) 0 , pentru k m , f polinom de grad m .
3
Prin inducție se poate arăta următoarea legătură între
diferențele divizate de ordin k şi cele finite:
k f ( xi )
xi , xi 1 , , xi k f k
.
k !h
ln ( x ) y0 x0 , x1 f ( x x0 ) x0 , x1 , x2 f ( x x0 )( x x1 )
x0 , x1 ,..., xk f ( x x0 )( x x1 ) ( x x k 1 )
x0 , x1 ,..., xn f ( x x0 )( x x1 ) ( x x n 1 )
4
Consideră că punctul de interpolare este de forma:
x x0 t h
și înlocuim diferențele divizate cu diferențe finite în forma
Newton a polinomului de interpolare:
( x x0 ) ( x x k 1 ) ( x0 t h x 0 ) ( x0 t h x0 ( k 1)h)
hk t ( t 1) ( t k 1)
5
t ( t 1)
ln ( x ) ln ( x0 th) y0 f ( x0 )t f ( x0 )
2
2
t ( t 1) ( t k 1)
f ( x0 )
k
k!
t ( t 1) ( t n 1)
f ( x0 )
n
n!
Această relație poartă numele de formula lui Newton
progresivă pe noduri echidistante.
6
Considerăm polinomul de interpolare Lagrange pe nodurile în
ordine inversă { xn , xn1 ,..., x0 }:
7
t ( t 1)
ln ( x ) ln ( xn th) yn f ( xn1 )t f ( xn 2 )
2
2
t ( t 1) ( t k 1)
f ( xn k )
k
k!
t ( t 1) ( t n 1)
f ( x0 )
n
n!
8
Funcții spline
Fie nodurile:
xi a , b ,i 0,1, , n,
cu
a x0 x1 x2 x n 1 x n b
S ( x ) Pi ( x ) pentru x [ xi , xi 1 ] i 0,..., n 1
9
P0 ( x ), x [ x0 , x1 ],
P ( x ), x [ x , x ],
1 1 2
P2 ( x ), x [ x2 , x3 ],
S( x)
Pn 2 ( x ), x [ xn 2 , xn1 ],
Pn1 ( x ), x [ xn1 , xn ].
10
Funcții spline liniare continue
Definiție
Funcția S(x) definită mai sus se numește funcție spline
liniară continuă dacă polinoamele Pi x ,i 0, , n 1 sunt
polinoame de gradul 1 și S(x)C[a,b], adică:
11
Funcția spline liniară de interpolare S pentru funcţia f
îndeplinește condițiile de interpolare:
S ( xi ) yi ,i 0, , n.
Ținând seamă că polinoamele Pi(x) sunt polinoame de gradul
1 și S(x) este continuă vom avea condițiile:
Pi ( xi ) yi ,
Pi ( xi 1 ) yi 1 i 0, , n 1,
P ( x )polinom de gradul1.
i
12
S ( xk ) Pk 1 xk Pk xk yk ,k 1, , n 1,
S x0 P0 ( x0 ) y0 ,S xn Pn1 xn yn .
13
Dată fiind o funcție f :[ a , b] cu valorile:
yi f xi , i 0, , n ,
Pi ( x ) i x 3 i x 2 i x i , x [ xi , xi 1 ],i 0, , n 1,
14
n 1condiţiidinrelaţiiledeinterpolare S ( xi ) yi ,i 0, , n,
3( n 1) condi ţiidecontinuitate pentru S ( x ), S '
( x )şi S ''
( x )
înnodurile x ,i 1, , n 1,
i
15
f (a ) f (b) ( S ( x0 ) P0( x0 ) Pn1 ( xn ) S ( xn ),
f (a ) f (b) ( S ( x0 ) P0( x0 ) Pn1 ( xn ) S ( xn )) ;
anularea derivatei secunde în capetele intervalului:
f (a ) f (b) 0
( S x0 P0 x0 0,S xn Pn1 xn 0).
Funcțiile spline care îndeplinesc aceste condiții se numesc
funcții spline cubice normale.
derivata de ordinul al treilea a funcției S este continuă în
punctele x1 și xn-1 . Aceasta înseamnă că polinoamele P0,
P1 respectiv Pn-2, Pn-1 coincid. Acest tip de funcție spline
se numește „not – a – knot” și este utilizat în MATLAB.
16
Ne vom ocupa în continuare de determinarea funcţiei spline
de interpolare în cazul în care cunoaştem prima derivată a
funcţiei f în capetele intervalului de interpolare: f (a ), f (b ) .
Recapitulând, vom avea următoarele condiţii :
Pi ( xi ) yi ,i 0, , n 1,Pn1 ( xn ) yn interpolare,
P ( x ) P ( x ),i 1, , n 1,continuitatea funcţieiS ,
i 1 i i i
17
Vom nota:
S ( xi ) ai ,i 0, n.
Ţinând seama de faptul că funcţia SC[a,b] este o funcţie
liniară pe fiecare din intervalele [xi, xi+1] rezultă că:
x xi xi 1 x
S ( x ) ai 1 ai , x [ xi , xi 1 ],i 0, ,n 1
hi hi
hi xi 1 xi ,i 0, ,n 1
iar din
18
S ( x ) S ( x )dx,S ( x ) S ( x )dx
rezultă:
x xi xi 1 x
2 2
S ( x ) ai 1 ai bi ,
2hi 2hi
x [ xi , xi 1 ],bi , i 0, n 1,
x xi xi 1 x
3 3
S( x) ai 1 ai bi x ci ,
6hi 6hi
x [ xi , xi 1 ],bi , ci , i 0, n 1,
19
x xi xi 1 x
3 3
P ( x)
i ai 1 ai bi x ci ,
6hi 6hi
bi , ci , i 0, n 1,
20
hi2
Pi ( xi ) ai bi xi ci yi ,
6
hi2
Pi ( xi 1 ) ai 1 bi xi 1 ci yi 1 i 0, n 1.
6
21
Avem:
x x0 x1 x
2 2
P ( x )
0 a1 a0 b0
2h0 2h0
x x n 1 xn x
2 2
22
y1 y0
2h0 a0 h0 a1 6 f ( a ) (1)
h0
yn yn 1
hn1 an1 hn1 an 6 f (b ) (2)
hn1
23
Din condiţia de continuitate a primei derivate a funcţiei spline
cubice Pi1 ( xi ) Pi xi , i 1,..., n 1, ţinând seama de:
x x i 1 xi x
2 2
Pi1 ( x ) ai ai 1 bi 1 ,
2hi 1 2hi 1
x xi xi 1 x
2 2
Pi( x ) ai 1 ai bi ,
2hi 2hi
rezultă, utilizând formulele pentru bi-1 şi bi deduse mai sus:
24
hi 1 yi yi 1 hi 1
Pi1 ( xi ) ai a i a i 1
2 hi 1 6
hi yi 1 yi hi
Pi( xi ) ai ai 1 ai
2 hi 6
sau
yi 1 yi yi yi 1
( hi 1 hi ) ai hi ai 1 6 ,i 1, , n 1.
hi hi 1
(3)
25
Sistemul liniar format din ecuaţiile (1), (3), (2) cu
necunoscutele a0 ,a1 , , an are forma:
26
y1 y0
2h0 a0 h0 a1 6
f (a )
h0
yi 1 yi yi yi 1
( hi 1 hi )ai hi ai 1 6 i 1, ,n 1
hi hi 1
yn yn 1
hn1 an1 hn1 an 6 f (b )
h n 1
27
2 h0 h0 0 0 0 0 0
h0 2( h0 h1 )h1 0 0 0 0
0 h1 2( h1 h2 )h2 0 0 0
H
0000 hn 2 2(hn 2 hn1 )hn1
0000 0hn1 2hn1
28
y1 y0
6 h f ( a )
0
y y y y
f 6 i 1 i
i i 1
i 1, , n 1
hi hi 1
6 f ( b ) y n y n 1
hn1
Matricea H are diagonala dominantă atât pe linii cât şi pe
coloane, este simetrică şi pozitiv definită prin urmare putem
utiliza metoda Gauss-Seidel sau o metodă de relaxare pentru
rezolvarea sistemului Ha=f.
29
Interpolare în sensul celor mai mici pătrate
x x0 x1 x2 ... xn-1 xn
f y0 y1 y2 ... yn-1 yn
f(xi) = yi , i=0,...,n
f(x) Sf (x; a0, a1, ..., am )
Sf (x; a0, a1, ..., am ) = amxm + am-1xm-1 + + a1x + a0
30
; a , a ,..., a
n
min{ S f ( xr ; a0 , a1 ,..., am ) yr
2
0 1 m } (LSP)
r 0
m 1
g: ,
S
n 2
g(a0 , a1 ,..., am ) f ( xr ; a0 , a1 ,..., am ) yr
r 0
a
n
2
g(a0 , a1 ,..., am ) m x
m
r ak x k
r a1 xr a0 yr
r 0
g
n
(a0 , a1 ,..., am ) 2 am xrm ak xrk a1 xr a0 yr xrk
a k r 0
31
Soluția problemei de minimizare a problemei (LSP) este
obținută rezolvând sistemul de ecuații liniare, de dimensiune
(m+1):
g
(a0 , a1 ,..., am ) 0 , k 0,1,..., m
a k
a
n n
r 0
m r
x m
ak xrk a1 xr a0 xrk r r , k 0,..., m
y x
r 0
k
n n n n n
a0 x a1 x
k
r
k 1
r a m 1 x k m 1
r am x km
r yr xrk ,
r 0 r 0 r 0 r 0 r 0
k 0,..., m
32
Constantele { a0, a1, ..., am } sunt soluția sistemului liniar:
Ba z ,
( m 1)( m 1) ( m 1)
B , B (bkj )mk , j 0 , z z ( zk )km 0
n n
bkj xrk j , zk yr xrk , k , j 0,..., m
r 0 r 0
33
Rezolvarea ecuaţiilor neliniare
34
x ak , bk
ak 1 , bk 1 ak , bk
bk ak
bk 1 ak 1
2
Pentru primul interval vom considera:
a0 a,b0 b,k0 .
Considerăm punctul c de mijloc al intervalului [ak,bk]:
ak bk
c
35
Avem următoarele 3 variante:
1. f(c)=0 - soluţia căutată este x*=c, algoritmul se opreşte;
2. f(ak)f(c) < 0 soluţia se găseşte în intervalul (ak,c),
continuăm procedeul cu intervalul [ ak 1 ak ,bk 1 c ];
3. f(bk)f(c) < 0 soluţia se găseşte în intervalul x*(c,bk)
procedeul continuă cu intervalul [ ak 1 c,bk 1 bk ].
36
Dat > 0 există un interval ak , bk astfel ca x ak , bk şi
ba
bk ak ( klog 2 ). Pentru suficient de mic atât
ak cât şi bk pot fi considerate aproximări ale soluţiei x*
37
Metoda tangentei (Newton-Raphson)
38
x1 Oxtangentalagraficulfuncţiei f înpunctul x0 , f ( x0 )
x2 Oxtangentalagraficulfuncţiei f înpunctul x1 , f ( x1 )
y f (a ) f (a )( x a )
39
Pentru a calcula xk+1 din xk vom considera ecuaţia tangentei:
y f ( xk ) f ( xk )( x xk )
unde luăm y = 0. Avem:
f ( xk )
xk 1 xk ,k 0,1, 2, , x0 dat
f ( x k )
40
Teoremă de convergenţă
41
Metoda falsei poziţii (a coardei)
42
x1 Oxdreapta ceuneştepunctele x , f ( x ) x0 , f ( x0 )
x2 Oxdreapta ceuneştepunctele x , f ( x ) x1 , f ( x1 )
y f (a ) xa
f (a ) f (b) a b .
43
Pentru a-l obţine pe xk 1 din xk avem:
y f ( xk ) x xk
cu y 0
f ( xk ) f ( x ) xk x
f ( xk )( xk x ) xf ( xk ) xk f ( x )
xk 1 xk ,
f ( xk ) f ( x ) f ( xk ) f ( x )
k 0,1, 2, , x0 xdate
44
Teoremă de convergenţă
45
Metoda secantei
Presupunem că funcţia f este continuă, f C a , b şi
satisface relaţia f (a ) f (b) 0 . Vom construi un şir xk
care să conveargă la soluţia căutată x*,
xk x ,pentruk . Considerăm date primele două
elemente din şir, x0 şi x1.
Procedeul de construire a şirului este următorul:
46
x2 Oxdreapta ceuneştepunctele x0 , f ( x0 ) , x1 , f ( x1 )
x3 Oxdreapta ceuneştepunctele x1 , f ( x1 ) , x2 , f ( x2 )
y f ( xk ) x xk
cu y 0
f ( x k ) f ( x k 1 ) x k x k 1
47
f ( xk )( xk xk 1 )
xk 1 xk
f ( x k ) f ( x k 1 )
x k 1 f ( x k ) x k f ( x k 1 )
,
f ( x k ) f ( x k 1 )
k 1, 2, , x0 , x1 daţi
48
Teoremă de convergenţă
49
Metoda lui Laguerre
Fie polinomul:
p( x ) a0 ( x x1 )( x x2 ) ( x xn ),a0 0
50
1 1 1
p '( x ) p( x )
x x1 x x2 x xn
Avem:
d 1 1 1 p( x )
ln | p( x ) | G( x )
dx x x1 x x2 x x n p( x )
51
d2 1 1 1
2 ln | p( x ) |
dx ( x x1 ) 2
( x x2 ) 2
( x xn ) 2
p '( x ) p( x ) p ''( x )
2
H ( x)
p( x )
2
yk xi b i 2, , n.
52
Prin urmare avem:
p '( yk ) n 1
G ( yk )
p( yk ) a b
2
p '( yk ) p( yk ) p ''( yk ) n1
H ( yk ) 2
2 2
p( yk ) a b
n
a
max G ( yk ) ( n 1) nH ( yk ) G 2 ( yk )
53
Semnul la numitor este ales astfel ca expresia să aibă
magnitudine maximă. Dacă ţinem cont de expresiile pentru G
şi H obţinem pentru a următoarea formulă:
n p( yk )
a
max p '( yk ) ( n 1) p '( yk ) n( n 1) p( yk ) p ''( yk )
2 2
54
n
yk 1 yk a yk
max G ( yk ) ( n 1) nH ( yk ) G 2 ( yk )
n p( yk )
yk 1 yk
max p '( yk ) ( n 1)2 p '( yk ) n( n 1) p( yk ) p ''( yk )
2
55
rădăcini simple metoda lui Laguerre are ordinul de
convergenţă 3.
Sisteme de ecuaţii neliniare
f1 ( x1 , x2 , , xn )0 f1 x1
2 1 2
f ( x , x , , x )0 f 2 x2
n
F ( X )0F , X
f n ( x1 , x2 , , xn )0
fn xn
56
Fie matricea jacobiană asociată funcţiei F (presupunem că
funcţiile fi sunt diferenţiabile):
f 1 f 1 f 1
x x x
1 2 n
f 2 f 2 f 2
F ( X ) x1 x2 xn ( x1 , x2 , , xn )
f n f n f n
x x
1 2 x n
57
Pentru a găsi soluţia X* a sistemului de ecuaţii neliniare
F(X)= 0 se construieşte un şir de vectori X ( k ) n astfel:
X (0) dat
1
X ( k 1)
X (k )
F ( X (k )
) F ( X ( k ) ) X ( k ) ( k ) ,
1
(k )
F ( X (k )
) F ( X ( k ) ) n
, k 0,1,
58
unde matricea sistemului este matricea jacobiană calculată în
punctul X (k )
iar vectorul termenilor liberi este F ( X ( k ) ) .
Metoda descrisă mai sus poartă numele de metoda Newton.
Pentru n=1 metoda Newton este chiar metoda tangentei
descrisă anterior.
59