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