Rjeˇ savanje sustava nelinearnih jednadˇ zbi
4.4 Rjeˇ savanje sustava nelinearnih jednadˇ zbi
Spomenimo na kraju mogu´cnost generalizacije prethodno navedenih metoda na rjeˇsavanje sustava nelinearnih jednadˇzbi
f i (x 1 ,x 2 ,...,x n ) = 0,
i = 1, . . . , n,
(4.25) odnosno f (x) = 0, gdje je f (x) = (f 1 (x), . . . , f n (x)) T , x = (x 1 ,...,x n ) T . Ana-
logno metodi jednostavnih iteracija (t.4.2 str. 72) sustav (4.25) moˇzemo zapisati u obliku
i = 1, . . . , n. (4.26) ˇsto upu´cuje na iterativni postupak
x i =ϕ i (x 1 ,x 2 ,...,x n ),
i = 1, . . . , n, k = 0, 1, . . . (4.27) Newtonova metoda (t.4.3, str. 77) takod¯er se moˇze generalizirati na rjeˇsavanje
=ϕ i (x 1 ,x 2 ,...,x (k) n ),
sustava nelinearnih jednadˇzbi (4.25). Najprije izaberimo poˇcetnu aproksimaciju
x (0) = (x
1 ,x 2 ,...,x n ) T
i svaku od funkcija f i razvijemo u Taylorov red u
okolini x (0) , te linearnu aproksimaciju oznaˇcimo s ˜ f i :
∂f i (x )
i = 1, . . . , n. (4.28) Sada umjesto sustava (4.25) rjeˇsavamo sustav
ˇsto moˇzemo pisati u matriˇcnom obliku na sljede´ci naˇcin
(4.29) ∂f 1 (x (0) )
J (0) s (0)
= −f(x (0) ),
∂x 1 ···
∂f 1 (x (0) )
x 1 −x 1 f 1 (x (0) )
∂x n
,s =
, f (x )= . .. .
∂f n (x (0) )
∂x 1 ···
∂f n (x (0) )
x n −x n
n (x )
∂x n
86 4.4 Rjeˇsavanje sustava nelinearnih jednadˇ zbi
Matricu J nazivamo Jacobijeva matrica ili Jacobijan sustava. Nova aproksimacija rjeˇsenja tada je
x (1) =x (0) +s (0) .
Op´cenito, dobivamo iterativni postupak
(4.30) gdje je s (k) rjeˇsenje sustava
x (k+1) =x (k) +s (k) , k = 0, 1, . . .
(4.31) Primijetite da se iterativni postupak (4.30)–(4.31) uz pretpostavku regularno-
J (k)
s = −f(x (k) ).
sti Jacobijana J (k) moˇze zapisati u obliku
x (k+1) =x (k) ! − J (k) " −1 f (x (k) ), k = 0, 1, . . . ,
(4.32) ˇsto podsje´ca na Newtonov iterativni postupak (4.18), str. 78. Inaˇce, iterativni proces
(4.32) rijetko se koristi jer je postupak (4.30)–(4.31) numeriˇcki stabilniji. Pitanje konvergencije spomenutih metoda ne´cemo razmatrati. Zainteresirani
ˇcitatelj to moˇze pogledati u viˇse knjiga iz podruˇcja numeriˇcke analize spomenutih u Primjedbi 4.8, str. 87 ili u popisu referenci na kraju teksta.
Primjedba 4.7 Vrlo vaˇzno mjesto med¯u metodama za rjeˇsavanje sustava neline- arnih jednadˇzbi zauzimaju tzv. kvazi-Newtonove metode, koje je uveo Broyden (1961), a koje su nastale kao generalizacija metode sekanti (vidi t.4.3.1, str. 82):
(a) Broydenova metoda
B k (x k+1
−x k ) = −f(x ), k = 0, 1, . . . , gdje su B k matrice koje uz dobar izbor poˇcetne aproksimacije B 0 sve viˇse nalikuju
Jacobijanu, a izraˇcunavaju se iz rekurzivne formule:
gdje je
−x k (b) Davidon-Fletcher-Powell (DFP) metoda
(c) Broyden-Fletcher-Goldfarb-Schano (BFGS) metoda x k+1 =x k −H k f (x k ), k = 0, 1, . . . ,
H k+1 = I −
+ k k , k = 0, 1, . . . ,
y k ,s k
y k ,s k
y k ,s k
4.4 Rjeˇsavanje sustava nelinearnih jednadˇ zbi
Primijetimo da je rang(B k+1 −B k ) = 1. Zbog toga se kaˇze da je Broydenova metoda metoda ranga 1. Ako je Jacobijan simetriˇcna matica, bolje je koristiti DFP ili BFGS metodu, u kojima su korekcije Jacobijana H k ranga 2. Moˇze se pokazati da rekurzivne for- mule za generiranje korekcija H k kod DFP i BFGS metode ˇcuvaju simetriˇcnost i pozitivnu definitnost korekcije. Viˇse detalja o ovim metodama moˇze se na´ci kod Dennis (1977).
Zadatak 4.4 Izradite program za rjeˇsavanje sustava nelinearnih jednadˇzbi nave- denim metodama i ispitajte ga na sljede´cim primjerima
(a) (Dennis, Schnabel (1996))
2(x 1 +x 2 ) 2 + (x 1 −x 2 ) 2 −8=0 5x 2 1 + (x 2 − 3) 2 −9=0
Rjeˇsenje: x ∗ 1 = (1, 1) T , x ∗ 2 = (−1.18347, 1.58684) T . (b) (Dennis, Schnabel (1996))
2 − 2, e 1 −1 +x 2 − 2) =0 Rjeˇsenje: x ∗ = (1, 1) T . (c) (Dennis, Schnabel (1996)) f (x ,x ,x ) = (x ,x 2 1 2 3 1 2 +x 2 ,e x 3 − 1) T =0
f (x 1 ,x 2 ) = (x 2 1 3 +x 2 x
(d) Rosenbrock parabolic valey
gard f (x 1 ,x 2 ) = 0,
f (x 1 ,x 2 ) = 100(x 2 −x 2 1 ) 2 + (1 − x 1 ) 2
Rjeˇsenje: x ∗ = (1, 1) T .
11 (t i −x 1 ) 2 2
x 2 −y i , gdje su brojevi (t i ,y i ), i = 1, . . . , 11 zadani tablicom
(e) grad f (x 1 ,x 2 ,x 3 ) = 0,
.001 .01 .04 .12 .21 .25 .21 .12 .04 .01 .001 Rjeˇsenje: x ∗ = (4.93, 2.62, 0.28) T .
Primjedba 4.8 Viˇse detalja o numeriˇckim metodama za rjeˇsavanje nelinearnih jednadˇzbi moˇze se na´ci u brojnoj literaturi (primjerice Demidovich (1981), Ivanˇ si´ c (1998), Kurepa (1990), Mathews (1992), Schwarz (1986), Stoer (1993) itd.) fortran kodovi mogu se na´ci u Forsythe (1974) ili Press (1992). O rjeˇsa- vanju sustava nelinearnih jednadˇzbi i problemima ekstrema funkcija viˇse varijabli moˇze se na´ci u Dennis (1996), Dennis (1977), Fletcher (1987), Ortega (1970) itd. Kvalitetna fortran programska podrˇska nalazi se u The NAG-Library (vidi Phillips (1986), K¨ ockler (1990)). Naravno, kvalitetan inˇzenjerski ”alat” za rje- ˇsavanje ovakvih problema je program Mathematica (Wolfram (1998)).
4.5 Zadaci