You are on page 1of 60

1

1. METODE RJEAVANJA NELINEARNE


JEDNADBE S JEDNOM NEPOZNANICOM



1.1 METODA BISEKCIJE




1.1.1 METODA

Nakon poetnog istraivanja funkcije poznati su nam
d l
x x < , tako da je:
0 ) ( ) ( <
d l
x f x f .
Kako moe izgledati f na intervalu [ ]
d l
x x , ?




Ako je funkcija neprekinuta mora presjei x-os barem jednom, odnosno postoji barem jedan realni
korijen izmeu
l
x i
d
x . Kako mu se pribliiti? Raspolovimo interval:
2
d l
s
x x
x
+
=

2
Ako je 0 ) ( =
s
x f , tada je
s
x traeni korijen
s
x x =
0
, a ako ne gdje je
0
x ?

Ako je 0 ) ( ) ( <
s l
x f x f , tada je [ ]
s l
x x x ,
0
.
Ako je 0 ) ( ) ( <
d s
x f x f , tada je [ ]
d s
x x x ,
0
.
U oba sluaja dobijemo novi interval upola manji od prethodnog u kome je
0
x . Ako nastavimo
postupak poloaj korijena je bolje poznat.





Ime metode :
bisection method = binary choping = interval halving = Bolzanos method


1.1.2 KONVERGENCIJA


Ako je funkcija neprekinuta, konvergencija metode je sigurna. Brzina konvergencije: gornja ocjena
greke u i-tom koraku je oito:
) ( ) ( i
d
i
l i
x x = ,
pa je:
2
1
i
i

=
+
.
Tako ako elimo nai
0
x s tonou moramo uiniti n koraka, tj.
0 2
2
1
2
1
......
2
1
2
1

= =

= = =

n
n n n

(
0
- poetna greka), odnosno:

0
2
log = n .



1.1.3 SVOJSTVA

1) Ako funkcija ima prekid na [ ]
d l
x x , moe biti 0 ) ( ) ( <
d l
x f x f i bez korijena u tom intervalu, pa
metoda nee konvergirati.
3





2) Kada konvergira, konvergira dosta sporo, tj. ima brih metoda.


1.1.4 PSEUDOKOD

Da bi se zatitili od mogue divergencije na funkcijama s prekidom, najbolje je kao kriterij
zaustavljanja uzeti ( ) <
s
x f i ograniiti broj iteracija.

iter=0
DO
iter=iter+1
xs=(xl+xd)/2
err=|f(xs)|
IF (err>)
IF ( f(xl) f(xs) < 0 )
xd=xs
ELSE
xl=xs
ENDIF
ENDIF
WHILE (err>) and (der<maxit)








4
1.2 NEWTONOVA METODA




1.2.1 METODA

Ako moemo izraunati vrijednosti funkcije i vrijednosti derivacije funkcije f i ako znamo neki
i
x
koji je blizu traenog korijena, moemo nelinearnu funkciju f u okolini toke ( ) ) ( ,
i i
x f x
zamijeniti pravcem najslinijim toj funkciji tangentom!



Mjesto gdje ta tangenta sijee x-os lako izraunamo:
( )
( )
( )
i
i
i i i
i i
i
x f
x f
x x x f
x x
x f
'
'
) (
1
1
= =

+
+
Newton-Raphsonova formula
Ponovimo isti postupak vie puta:



5
Ako smo krenuli dovoljno blizu korijenu i ako je funkcija na tom dijelu dovoljno dobra metoda
e konvergirati!


Ime metode:
Newtonova metoda = Newton-Raphsonova metoda = metoda tangente


1.2.2 KONVERGENCIJA

Pretpostavimo da je f dva puta derivabilna tako da u okolini
i
x vrijedi Taylorova formula:

( ) ( ) ( )( )
( )
( )
2
2
"
'
i i i i
x x
f
x x x f x f x f + + =

uz
( )
> <
+ =
1 , 0

i i
x x x

Posebno za traeni korijen
0
x :
( ) ( )( )
( )
( )
2
0 0
2
"
' 0
i i i i
x x
f
x x x f x f + + =

,
dok iz Newton-Raphsonove formule slijedi:
( ) ( )( )
i i i i
x x x f x f + =
+1
' 0 ,
oduzimanjem ovih jednakosti dobivamo:
( )( )
( )
( )
2
0 1 0
2
"
' 0
i i i
x x
f
x x x f + =
+


odnosno:
( )
( )
2
1
' 2
"
i
i
i
x f
f

=
+

te je konvergencija kvadratina!



1.2.3 SVOJSTVA

Metoda ima slabu globalnu konvergenciju: ako nismo dovoljno blizu korijenu metoda e vrlo lako
divergirati problem je u horizontalnim i kvazi-horizontalnim tangentama!


6


No kada smo dovoljno blizu korijenu kvadratina konvergencija metode znai da se broj tonih
znamenki udvostruava sa svakim korakom! Zato je ovo i najkoritenija od svih metoda za traenje
korijena.


1.2.3 PSEUDOKOD

Da bi se zatitili od divergencije kod ove metode osim ogranienja broja iteracija i uzimanja za
kriterij zaustavljanja ( ) <
2
x f treba paziti i na horizontalne tangente!

iter=0
DO
iter=iter+1
df=f(x1)
IF (|df|>TINY )
x2=x1 - f(x1)/df
err=|f(x2)|
IF ( err> )
x1=x2
ENDIF
ENDIF
WHILE (|df|>TINY ) and ( err> ) and ( iter>maxit )


7
1.3 METODA SEKANTE




1.3.1 METODA

Pretpostavimo da su nam poznate dvije toke
1
x i
2
x koje su blizu traenog korijena, tada moemo
funkciju f zamijeniti pravcem kroz toke ( ) ) ( ,
1 1
x f x i ( ) ) ( ,
2 2
x f x tj. sekantom.


Mjesto gdje sekanta sijee x-os lako izraunamo:
) ( ) (
) ( ) ( ) ( ) (
2 1
2 1 1
2 3
3 2
2
1 3
1
x f x f
x x x f
x x
x x
x f
x x
x f


Da li je
3
x blie korijenu?
U iterativnom postupku ideju sekante moemo koristiti na dva naina:
1) Ako su
1 i
x i
i
x dva uzastopna priblina rjeenja uzmimo za idue:
) ( ) (
) ( ) (
1
1
1
i i
i i i
i i
x f x f
x x x f
x x

+



8
Ime metode:
metoda sekante

2) Ako su
l
x i
d
x takvi da je 0 ) ( ) ( <
d l
x f x f umjesto da dijelimo interval [ ]
d l
x x , u sredini
dijelimo ga tamo gdje sekanta sijee x-os tj. u:
) ( ) (
) ( ) (
d l
d l d
d s
x f x f
x x x f
x x


=
i zatim nastavljamo kao u metodi bisekcije tj.:
ako je
s d s l
x x x f x f = < 0 ) ( ) ( ,
a ako je
s l s d
x x x f x f = < 0 ) ( ) ( .
Ime metode:
false position method=regula falsi=linear interpolation method






1.3.2 KONVERGENCIJA

1) Metoda sekante: moe se pokazati da je:
618 , 1
1 i i
c =
+
(1.618 = golden ratio)

2) Regula falsi metoda: budui da je bolja od metode bisekcije ima barem linearnu, a esto i
superlinearnu konvergenciju.





9

1.3.3 SVOJSTVA

1) Metoda senkante: evaluacija
'
f je u nekim sluajevima nemogua, pa je tada od Newton-
Raphsonove bolja ova metoda. To se meutim plaa sporijom konvergencijom (s reda 2 padamo
na red 1,618). Metoda moe divergirati iz slinih razloga (tj. zbog lokalnog ponaanja) ba kao i
Newton-Raphsonova matoda.





2) Regula falsi metoda: ako je ) (
l
x f blie 0 nego ) (
d
x f vjerojatnije je da je
0
x blie
l
x nego
r
x ,
to metoda bisekcije ne uzima u obzir, a regula falsi metoda da! Zato je ova metoda bolja od
metode bisekcije tj. bre konvergira, a isto kao i metoda bisekcije ne moe divergirati za
f neprekidne.




10
3) Usporedba metode sekante i regula falsi metoda: kada konvergira metoda sekante konvergira
bre, ali moe divergirati dok se to sa regula falsi metodom ne moe dogoditi! Ima funkcija na
kojima su obje metode spore i ak slabije od metode bisekcije:




1.3.4 PSEUDOKOD

1) Metoda sekante

iter=0
DO
iter=iter+1
d=f(x1)-f(x2)
IF (|d|>TINY)
x3=x2-f(x2)(x1-x2)/d
err=|f(x3)|
IF (err > )
x1=x2
x2=x3
ENDIF
ENDIF
WHILE (|d|>TINY) and (err > ) and (iter<maxit)













11
2) Regula falsi metoda

iter=0
DO
iter=iter+1
d=f(xl)-f(xd)
IF (|d|>TINY)
xs=xd-f(xd)(xl-xd)/d
err=|f(xs)|
IF (err > )
IF (f(xl)f(xs)<0)
xd=xs
ELSE
xl=xs
ENDIF
ENDIF
ENDIF
WHILE (|d| > TINY ) and (err > ) and (iter<maxit)






























12
1.4 METODA FIKSNE TOKE





1.4.1 METODA

Ako je
0
x korijen jednadbe:
0 ) ( = x f
i ako definiramo:
x x f x g + = ) ( ) (
onda za
0
x vrijedi:
) (
0 0
x g x =
tj.
0
x je fiksna toka funkcije g . Tada ako je
i
x blizu
0
x onda je ( )
i i
x g x pa je moda:
) (
1 i i
x g x =
+

jo blie
0
x !

13
Ime metode:
iteracijska metoda = metoda fiksne toke

1.4.2 KONVERGENCIJA

Izraunajmo red konvergencije:
( ) ( )
0 0 1 1
x g x g x x
i i i
= =
+ +
= (teorem srednje vrijednosti) = ( ) ( ) ( )
i i
g x x g = ' '
0

Prema tome, ako je 1 ' < g , metoda konvergira i to linearno, a ako je 1 ' g metoda divergira!
Uoimo jo da ako je 0 ' > g ,
i
x se monotono mijenja, a ako je 0 ' < g ,
i
x oscilira.


1.4.3 SVOJSTVA

Moe se primijeniti samo ako se zna da u blizini traenog korijena x x f x g + = ) ( ) ( ima 1 ' < g , tada
je konvergencija sigurna, ali je najvie linearna.



1.4.4 PSEUDOKOD

Ogranienje 1 ' < g neemo provjeravati!

iter=0
DO
iter=iter+1
x2=f(x1)+x1
err=|f(x2)|
IF ( err> )
x1=x2
ENDIF
WHILE ( err> ) and ( iter<maxit )



1.5 OSTALE METODE




Van Wijngaarden-Dekker-Brentova metoda:

Lokalno zamjenjuje se funkcija kvadratnom parabolom i trai njen presjek sa x-osi (superlinearna
konvergencija!) i samo ako ta toka ispada iz intervala u kome traimo korijen korak se zamjenjuje
obinom bisekcijom => super-strategija preporuljiva za sve f za koje ne moemo raunati
'
f .


14

2. SUSTAVI LINEARNIH JEDNADBI



2.1 METODA GAUSSOVE ELIMINACIJE




2.1.1 METODA

Prisjetimo se metode eliminacije i formalizirajmo je!

= + + + +
= + + + +
= + + + +
= + + + +
= + + + +
n n nn n n n
i n in i i i
n n
n n
n n
c x a x a x a x a
c x a x a x a x a
c x a x a x a x a
c x a x a x a x a
c x a x a x a x a

3 3 2 2 1 1
3 3 2 2 1 1
3 3 3 33 2 32 1 31
2 2 3 23 2 22 1 21
1 1 3 13 2 12 1 11

11 1
/ a a
i



1. korak:
j
i
ij ij
a
a
a
a a
1
11
1 ) 1 (
= , n i , , 2 = , n j , , 2 =
1
11
1 ) 1 (
c
a
a
c c
i
i i
= , n i , , 2 =

= + + +
= + + +
= + + +
= + + +
= + + + +
) 1 ( ) 1 (
3
) 1 (
3 2
) 1 (
2
) 1 ( ) 1 (
3
) 1 (
3 2
) 1 (
2
) 1 (
3
) 1 (
3 3
) 1 (
33 2
) 1 (
32
) 1 (
2
) 1 (
2 3
) 1 (
23 2
) 1 (
22
1 1 3 13 2 12 1 11
n n nn n n
i n in i i
n n
n n
n n
c x a x a x a
c x a x a x a
c x a x a x a
c x a x a x a
c x a x a x a x a


) 1 (
22
) 1 (
2
/ a a
i



2. korak:
) 1 (
2
) 1 (
22
) 1 (
2 ) 1 ( ) 2 (
j
i
ij ij
a
a
a
a a = , n i , , 3 = , n j , , 3 =
) 1 (
2
) 1 (
22
) 1 (
2 ) 1 ( ) 2 (
c
a
a
c c
i
i i
= , n i , , 3 =
15

= + +
= + +
= + +
= + + +
= + + + +
) 2 ( ) 2 (
3
) 2 (
3
) 2 ( ) 2 (
3
) 2 (
3
) 2 (
3
) 2 (
3 3
) 2 (
33
) 1 (
2
) 1 (
2 3
) 1 (
23 2
) 1 (
22
1 1 3 13 2 12 1 11
n n nn n
i n in i
n n
n n
n n
c x a x a
c x a x a
c x a x a
c x a x a x a
c x a x a x a x a


) 2 (
33
) 2 (
3
/ a a
i


=
= + +
= + + +
= + + + +
) 1 ( ) 1 (
) 2 (
3
) 2 (
3 3
) 2 (
33
) 1 (
2
) 1 (
2 3
) 1 (
23 2
) 1 (
22
1 1 3 13 2 12 1 11
n
n n
n
nn
n n
n n
n n
c x a
c x a x a
c x a x a x a
c x a x a x a x a




Budui da elimo napisati kompjuterski program najvanije je napisati izraz za promjenu
ij
a -ova i
i
c -ova u proizvoljnom k -tom koraku:
) 1 (
) 1 (
) 1 (
) 1 ( ) (

=
k
kj
k
kk
k
ik k
ij
k
ij
a
a
a
a a , n k i , , 1 + = , n k j , , 1 + =
) 1 (
) 1 (
) 1 (
) 1 ( ) (

=
k
k
k
k
k
ik k
i
k
i
c
a
a
c c , n k i , , 1 + =
1 , , 2 , 1 = n k
Kada smo ovakvom eliminacijom unaprijed (forward elimination) doli do gornje trokutastog
sustava, uvrtavanjem unazad (back substitution) jednostavno dobivamo rjeenje:
) 1 (
) 1 (

=
n
nn
n
n
n
a
c
x

) 2 (
1 , 1
) 2 (
, 1
) 2 (
1
1


=
n
n n
n
n
n n
n
n
n
a
x a c
x

) 3 (
2 , 2
) 3 (
, 2 1
) 3 (
1 , 2
) 3 (
2
2


=
n
n n
n
n
n n n
n
n n
n
n
n
a
x a x a c
x
itd.
odnosno openito:
:
:
16
) 1 (
1 1
) 1 ( ) 1 (

+ =

=
i
ii
n
j
j
i
ij
i
i
i
a
x a c
x , 1 , 2 , , 2 , 1 , = n n n i .
Ime metode:
forward elimination+back substitution=naive Gauss elimination

Zato naivna?
Oito, ima veliki nedostatak ne uzima u obzir mogunost da je neki od dijagonalnih elemenata
jednak 0, a tada imamo u formulama dijeljenje s nulom!

Problem se moe rijeiti pivotiranjem.
Ako u k -tom koraku eliminacije 0 t) koeficijen pivot (
) 1 (
= =
k
kk
a treba prvo gledati ostale koeficijente
u tom stupcu i ako je npr. 0
) 1 (
, 1

+
k
k k
a zamjenjujemo retke:

= + +
= + +
= + +
= + +
= + + +

+

) 1 ( ) 1 ( ) 1 (
) 1 (
1
) 1 (
, 1
) 1 (
, 1
) 1 ( ) 1 ( ) 1 (
) 1 (
2
) 1 (
2 2
) 1 (
22
1 1 2 12 1 11
k
n n
k
nn k
k
nk
k
k n
k
n k k
k
k k
k
k n
k
kn k
k
kk
n n
n n
c x a x a
c x a x a
c x a x a
c x a x a
c x a x a x a




.
Ako su meutim svi 0
) 1 (
=
k
ik
a , n k k i , , 1 , + = tada treba gledati ostale koeficijente u toj
jednakosti, i ako je npr. 0
) 1 (
1 ,

+
k
k k
a zamjenjuje stupce:

) 1 ( ) 1 (
1
) 1 (
1 ,
) 1 (
+

= + + +
k
k n
k
kn k
k
k k k
k
kk
c x a x a x a .
Uoimo da zamjena redaka ne mijenja rjeenje sustava ali zamjena stupaca mijenja redoslijed
nepoznatih
n
x x x , , ,
2 1
.

Ime dodatka na metodu:
djelomino pivotiranje (retci)
potpuno pivotiranje (retci i stupci)


2.1.2 SVOJSTVA

Kada naivnu Gaussovu eliminaciju obogatimo pivotiranjem dobivamo jedan od najvanijih
algoritama za rjeavanje sustava linearnih jednadbi.
Pa ipak pri kompjuterskoj implementaciji ne moemo oekivati da emo dobiti tono rjeenje.
Pogreke zaokruivanja nagomilavaju se i poveavaju kroz veliki broj operacija te posebno mogu
postati nezanemarive kod jako velikih sustava. Pri tome se svi sustavi nee jednako ponaati. Kod
nekih male promjene na jednom ili vie koeficijenata uzrokuju velike promjene u rjeenju. Takve
sustave zovemo slabo uvjetovanima (ill-conditioned) i kod njih male greke zaokruivanja u
koeficijentima mogu dovesti do velikih odstupanja od tonog rjeenja.
Kako prepoznati takve sustave?
17
To su blizu sigularni sustavi, tj. 0 ) det( A , a postoji i bolje mjera za to svojstvo tzv. kondicija
matrice:
1
) ( Cond

= A A A ,
gdje je:

= =
=
n
i
n
j
ij
a A
1 1
2

norma matrice. Moe se pokazati da vrijedi:
A
A
A
X
X

) ( Cond .
Interpretirajmo: Ako je greka zaokruivanja koeficijenata ( A ) reda
t
10 a ) ( Cond A reda
c
10
tada rjeenje moe imati samo c t tonih decimala!
Mogui lijek je sljedei. Neka su
i
x tona rjeenja, a
i
x
~
izraunata rjeenja tako da je:
i i i
x x x + =
~
.
Kako moemo izraunati popravak ? =
i
x
( )
i
n
j
i ij i
n
j
i i ij
n
j
i ij
E x a c x x a x a = = =

= = = 1 1 1
~ ~
, n i , , 1 =
Ovo je linearni sustav za
i
x -ove koji se moe rijeiti i onda popraviti
i
x
~
, vie puta ponovljen ovaj
postupak moe pribliiti izraunato rjeenje tonome (tzv. iterativ refinement).


2.1.4 PSEUDOKOD

Uoimo:
- eliminacija se moe raditi u iste
ij
a -ove i
i
c -ove,
- pivotiranje se mora ubaciti na poetak svakog koraka eliminacije,
- veina programa radi samo parcijalno pivotiranje i to ne fiziku zamjenu redaka nego pamtei u
pomonom vektoru vezu izmeu poetnog i izmijenjenog redoslijeda jednadbi.


eliminacija unaprijed:

DOFOR k=1 to n-1
DOFOR i=k+1 to n
factor=a
ik
/a
kk

DOFOR j=k+1 to n
a
ij
=a
ij
-factor*a
kj

ENDDO
c
i
=c
i
=factor*c
k

ENDDO
ENDDO




18
supstitucija unatrag:

DOFOR i=n to 1 step 1
sum=0
DOFOR j=i+1 to n
sum=sum+a
ij
*x
j

ENDDO
x
i
=(c
i
-sum)/a
ii

ENDDO
parcijalno pivotiranje:

pivot=k
big=|a
kk
|
DOFOR ii=k+1 to n
IF ( |a
ii,k
|>big )
pivot=ii
big=|a
ii,k
|
ENDIF
ENDDO
IF ( pivot k )
DOFOR jj=k to n
swap (a
pivot,jj
,a
k,jj
)
ENDDO
swap (c
pivot
,c
k
)
ENDIF



2.1.5 DODATAK: GAUSS-JORDANOVA METODA


Ako u fazi eliminacije varijablu eliminiramo iz svih drugih jednakosti a ne samo sljedeih te sve
redove normaliziramo (dijeljenjem s pivot koeficijentima) na kraju emo dobiti umjesto gornje
trokutaste jedininu matricu i faza supstitucije bit e suvina. Ovakva inaica Gaussove metode je
tzv. Gauss-Joradnova metoda.
Prednost joj je to daje direktno inverznu matricu ako poetnu matricu Aproirimo jedininom, a
nedostatak to nije efikasna i trai 50% vie operacija od Gaussove.

Pripadni pseudokod je za mdesnih strana:









19
DOFOR k=1 to n
d=a
kk

DOFOR j=k+1 to n+m
a
kj
=a
kj
/d
ENDDO
DOFOR i=1 to n
IF ( i k )
d=a
ik
DOFOR j=1 to n+1
a
ij
=a
ij
-d*a
kj

ENDDO
ENDIF
ENDDO
ENDDO


































20
2.2 JACOBIJEVA I GAUSS-SEIDELOVA METODA




2.2.1 METODA


Sjetimo se metode fiksne toke za rjeavanje nelinearne jednadbe:
) (x g x = ,
koja se sastoji u tome da uzmemo neku poetnu aproksimaciju rjeenja -
i
x i izraunamo:
) (
1 i i
x g x =
+
,
koji je sada novo i moda bolje priblino rjeenje. Pokuajmo slino za linearnim sustavom:

= + + +
= + + +
= + + +
n n nn n n
n n
n n
c x a x a x a
c x a x a x a
c x a x a x a

2 2 1 1
2 2 2 22 1 21
1 1 2 12 1 11
.
Prvo sustav moramo rijeiti po
n
x x x , , ,
2 1
tj., rijeiti i -tu jednadbu po i -toj nepoznatoj:

+ + +
=
+ + +
=
+ + +
=

nn
n n n n n n
n
n n
n n
a
x a x a x a c
x
a
x a x a x a c
x
a
x a x a x a c
x
) (
) (
) (
1 1 , 2 2 1 1
22
2 3 23 1 21 2
2
11
1 3 13 2 12 1
1


odnosno:
ii
n
i j j
j ij i
i
a
x a c
x

=
, 1
, n i , , 2 , 1 = .
Zatim uzimamo poetnu aproksimaciju npr.:
0
) 1 ( ) 1 (
2
) 1 (
1
= = = =
n
x x x
i uvrtavanjem u gornju jednakost dobivamo iduu aproksimaciju itd. Kroz iterativni postupak
elimo doi do rjeenja.
Pri tome su kod uvrtavanja mogue dvije strategije.
1) U novom koraku za
i
x uvrtavaju se aproksimacije varijabli iz prethodnog koraka:
ii
k
n in
k
i i i
k
i i i
k
i i k
i
a
x a x a x a x a c
x
) ( ) (
1 1 ,
) (
1 1 ,
) (
1 1 ) 1 (

=
+ + +

.
Ime metode:
Jacobijeva metoda



21
2) U novom koraku za
i
x uvrtavaju se nove aproksimacije varijable za koje smo ih ve izraunali
u tom koraku
1 1
, ,
i
x x i stare za one do kojih postupak jo nije stigao
n i
x x , ,
1

+
:
ii
k
n in
k
i i i
k
i i i
k
i i k
i
a
x a x a x a x a c
x
) ( ) (
1 1 ,
) 1 (
1 1 ,
) 1 (
1 1 ) 1 (

=
+ +
+

+
+

.
Ime metode:
Gauss-Seidelova metoda



2.2.2 KONVERGENCIJA I SVOJSTVA

Ako se sjetimo da metoda fiksne toke za nelinearnu jednadbu s jednom nepoznanicom ne
konvergira uvijek (divergira za 1 > g ), postavljamo si pitanje: da li ovakav iterativni postupak za
linearne sustave uope konvergira?
Moe se pokazati da je konvergencija sigurna samo za sustave za koje vrijedi:

=
>
n
i j j
ij ii
a a
, 1
, n i , , 2 , 1 =
i koje zovemo dijagonalno dominantnima.

Kako postaviti kriterij zaustavljanja? Kao i kod svakog drugog iterativnog pribliavanja rjeenju,
moemo smatrati da se pribliavamo tonom rjeenju ako se razlika izmeu dva uzastopna
priblienja smanjuje i da smo nali rjeenje ako je ta razlika pala ispod unaprijed zadane greke :
<

+
) (
) ( ) 1 (
k
i
k
i
k
i
x
x x
za sve n i , , 2 , 1 = .
Ostaje problem brzine konvergencije: ako nam je poznata priroda problema koji rjeavamo toliko
da znamo da nam iterativna metoda proizvodi rjeenja koja previe osciliraju oko tonog ili naprotiv
da metode ide u tonom smjeru ali presporo, moemo se posluiti relaksacijom:
old new new
) 1 (
i i i
x x x + = .
Parametrom (weighting factor) smanjujemo ili poveavamo teinu novog rjeenja.
Za 1 , 0 smanjujemo utjecaj nove aproksimacije to je dobro ako rjeenja previe osciliraju
(podrelaksacija, underrelaxation).
Za 1 = iteracija je nemodificirana.
Za 2 , 1 poveavamo utjecaj nove aproksimacije to je dobro ako rjeenja napreduju u dobrom
smjeru ali presporo (nadrelaksacija, overrelaxation, succesive or simultaneus overrelaxation,
sor).


2.2.3 PSEUDOKOD

Uoimo da je metoda pogodna za memorijske i vremenske utede u kompjuterskoj implementaciji
ako sustav ima vrlo rijetku (sparse) matricu koeficijenata!

Pseudokod za Gauss-Seidelovu metodu sa relaksacijom:

22
DOFOR i=1 to n
factor=1/a
ii

DOFOR j=1 to n
a
ij
=a
ij
*factor
ENDDO
c
i
=c
i
*factor
ENDDO
sentinel=0
iter=0
DOWHILE ( iter<maxit ) and ( sentinel=0 )
sentinel=1
iter=iter+1
DOFOR i=1 to n
old=x
i

sum=c
i

DOFOR j=1 to n
IF ( i j )
sum=sum-a
ij
*x
j

ENDIF
ENDDO
x
i
=*sum+(1-)*old
IF ( sentinel=1 ) and ( x
i
0 )

n
=|x
i
-old|/|x
i
|
IF (
n
> ) THEN sentinel=0
ENDIF
ENDDO
ENDDO





















23
2.3 LU-DEKOMPOZICIJA




2.3.1 METODA

Uoimo da je rjeavanje linearnog sustava posebno je jednostavno ako je matrica sustava trokutasta.

1) Ako je matrica donja trokutasta, tj. ako treba rijeiti sustav:
c d L = , ? = d
gdje je:
(
(
(
(
(
(

=
nn n n n
l l l l
l l l
l l
l
L

3 2 1
33 32 31
22 21
11
0
0
0 0
0 0 0
(lower triangular)
jednostavnim uvrtavanjem unaprijed (forward substitution) dobivamo rjeenje:
11
1
1
l
c
d = ,
ii
i
j
j ij i
i
l
d l c
d

=
1
1
, n i , , 3 , 2 = .

2) Ako je matrica gornja trokutasta, tj. ako treba rijeiti sustav:
d x U = , ? = x
gdje je (jo dodatno: svi dijagonalni elementi jednaki 1):
(
(
(
(
(
(

=
1 0 0 0
1 0 0
1 0
1
3
2 23
1 13 12

n
n
n
u
u u
u u u
U (uppwer triangular)
jednostavnim uvrtavanjem unatrag (back substitution) dobivamo rjeenje:
n n
d x = ,

+ =
=
n
i j
j ij i i i
x u c d x
1
, 1 , , 2 , 1 = n n i .

Ali to ako matrica nije trokutasta?
Kada bi svaku matricu Amogli napisati kao produkt jedne donje trokutaste L i jedne gornje
trokutaste U , tj.:
U L A =
tada bismo linearni sustav:
c x A = , ? = x
mogli rijeiti na sljedei nain. Prvo naemo d takav da je c d L = , a zatim naemo x takav da je
d x U = . Tada je x traeno rjeenje jer je:
c d L x U L x A = = = .

24
Ostaje pitanje da li je mogue napraviti takvu LU-dekompoziciju za proizvoljnu matricu A?
Da! Metoda kojom to postiemo (Croutova metoda) ak je i vrlo jednostavna: treba samo izvriti
mnoenje matrica u jednakosti A U L = pravim redoslijedom:
A
a a a a
a a a a
a a a a
a a a a
u
u u
u u u
l l l l
l l l
l l
l
U L
nn n n n
n
n
n
n
n
n
nn n n n
=
(
(
(
(
(
(

=
(
(
(
(
(
(

(
(
(
(
(
(

3 2 1
3 33 32 31
2 23 22 21
1 13 12 11
3
2 23
1 13 12
3 2 1
33 32 31
22 21
11
1 0 0 0
1 0 0
1 0
1
0
0
0 0
0 0 0
.

Najprije iz mnoenja za prvi stupac matrice A:
11 11
a l = ,
21 21
a l = ,
31 31
a l = , ........ ,
1 1 n n
a l =
budui da nam je poznat prvi stupac matrice U dobivamo prvi stupac matrice L :
1 1 i i
a l = , n i , , 2 , 1 = ,
a iz mnoenja za prvi redak matrice A od drugog elementa nadalje:
12 12 11
a u l = ,
13 13 11
a u l = , ........ ,
n n
a u l
1 1 11
=
budui da nam je poznat prvi redak matrice L dobivamo prvi redak matrice U :
11
1
1
l
a
u
j
j
= , n j , , 2 = .
Tada iz mnoenja za drugi stupac matrice A od drugog elementa nadalje:
22 22 12 21
a l u l = + ,
32 32 12 31
a l u l = + , ........ ,
2 2 12 1 n n n
a l u l = +
budui da nam je poznat drugi stupac matrice U dobivamo drugi stupac matrice L :
12 1 2 2
u l a l
i i i
= , n i , , 3 , 2 = .
te iz mnoenja za drugi redak matrice A od treeg elementa nadalje budui da nam je poznat drugi
redak matrice L :
23 23 22 13 21
a u l u l = + , ........ ,
n n n
a u l u l
2 2 22 1 21
= +
dobivamo drugi redak matrice U :
22
1 21 2
2
l
u l a
u
j j
j

= , n j , , 3 = ,
itd. Da li smo iz ovoga u stanju izvesti rekurzivne formule za sve l -ove i u -ove ?

Da! U k -tom koraku raunamo lanove k -tog stupca matrice L :

=
=
1
1
k
m
mk im ik ik
u l a l , n k i , , = .
i lanove k -tog retka matrice U :
kk
k
m
mj km kj
kj
l
u l a
u

=
1
1
, n k j , , 1 + = ,
i tako za n k , , 2 , 1 = .




25
2.3.2 SVOJSTVA

1) Kada smo jednom obavili LU-dekomoziciju neke matrice A moemo rijeiti po volji mnogo
linearnih sustava s razliitim desnim stranama kao i izraunati inverznu matricu. To je velika
prednost u odnosu na Gaussove metodu gdje se sve desne strane moraju odjednom podvrgnuti
itavoj metodi ili e se ako se pojave naknadno morati itava metoda ponoviti.


2) Problem mogueg dijeljenja s nulom postoji ovdje ba kao i kod Gaussove metode i ba kao i
tamo rjeava se parcijalnim pivotiranjem koje se ovdje za LU-dekompozicije nikako ne moe
rijeiti fizikom zamjenom redaka nego pamenjem novog rasporeda redaka u pomonom
vektoru.

3) Uoimo da se u izvedenim rekurzivnim formulama pojedini element matrice A pojavljuje samo
jednom i to tono u relaciji za element matrice L odnosno matrice U na istom mjestu. To znai
da matrice L i U ne moraju postojati odvojeno od matrice A ve se samo u postupku
dekompozicije elementi matrice A zamjenjuju sa elementima matrica L i U ime se tedi na
memoriji.

(
(
(
(
(
(

nn n n n
n
n
n
a a a a
a a a a
a a a a
a a a a

3 2 1
3 33 32 31
2 23 22 21
1 13 12 11
LU-dekompozicija
(
(
(
(
(
(

nn n n n
n
n
n
l l l l
u l l l
u u l l
u u u l

3 2 1
3 33 32 31
2 23 22 21
1 13 12 11



2.3.3 PSEUDOKOD

Za LU-dekompoziciju bez pivotiranja:

DOFOR k=1 to n
DOFOR i=k to n
sum=0
DOFOR m=1 to k-1
sum=sum+a
im
*a
mk

ENDDO
a
ik
= a
ik
-sum
ENDDO
DOFOR j=k+1 to n
sum=0
DOFOR m=1 to k-1
sum=sum+a
km
*a
mj

ENDDO
a
kj
=(a
kj
-sum)/a
kk

ENDDO
ENDDO
26
Nakon LU-dekompozicije rjeavamo sustav:

DOFOR i=1 to n
sum=0
DOFOR j=1 to i-1
sum=sum+a
ij
*c
i

ENDDO
c
i
=(c
i
-sum)/a
ii

ENDDO
DOFOR i=n to 1 step -1
sum=0
DOFOR j=i+1 to n
sum=sum+a
ij
*x
j

ENDDO
x
i
=c
i
-sum
ENDDO
































27
2.4 TRODIJAGONALNI SUSTAVI




2.4.1 METODA

Zamislimo da treba rijeiti sustav ija je matrica trodijagonalna tj., samo su elementi na dijagonali
te neposredno iznad i ispod dijagonale razliiti od nule:
(
(
(
(
(
(
(
(

=
(
(
(
(
(
(
(
(

(
(
(
(
(
(
(
(


n
n
n
n
n n
n n n
c
c
c
c
c
x
x
x
x
x
f e
g f e
g f e
g f e
g f
1
3
2
1
1
3
2
1
1 1 1
3 3 3
2 2 2
1 1
0 0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0 0


gdje smo oznaili:
i ii
f a = , n i , , 1 = ,
i i i
g a =
+1 ,
, 1 , , 1 = n i ,
i i i
e a =
1 ,
, n i , , 2 = .
Odmah je jasno da za ovakve sustave metode kao to su Gaussova eliminacija ili LU-dekompozicija
mogu postati puno jednostavnije!
Jedan mogui pristup je:
- pivotiranje na ovakvim sustavima je potpuno nepotrebno,
- ako izvedemo Doolittleovu LU-dekompoziciju kod koje matrica L ima jedan na dijagonali, a ne
matrica U , dobivamo:
L
f e
f e
f e
f e
n n
n n
=
(
(
(
(
(
(
(
(


1 / 0 0 0 0 0
0 1 / 0 0 0 0
0 0 0 0 1 / 0
0 0 0 0 0 1 /
0 0 0 0 0 0 1
1
2 1
1 3
1 2



U
g
f
e
f
g g
f
e
f
g g
f
e
f
g g
f
e
f
g f
n
n
n
n
n n
n
n
n
=
(
(
(
(
(
(
(
(
(
(
(
(

1
1
1 2
2
1
1
3 2
2
3
3
2 1
1
2
2
1 1
0 0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0


28
Doolitleova LU-dekompozicija je konzistentna s Gaussovom eliminacijom u smislu da su l -ovi
jednaki faktorima iz naivne Gaussove eliminacije, a u -ovi a -ovima nakon naivne Gaussove
eliminacije.

Ovome zatim dodajemo rjeavanje:
r d L = , ? = d
supstitucijom unaprijed:
1 1
r d = ,
1
'

=
k k k k
d e r d , n k , , 2 =
i rjeavanje:
d x U = , ? = x
supstitucijom unatrag:
n
n
n
f
d
x
'
= ,
k
k k k
k
f
x g d
x
'
1 +

= , 1 , , 1 = n k .
Time smo dobili potpuni Thomasov algoritam za trodijagonalne sustave.


2.4.3 SVOJSTVA

Thomasov algoritam zadrava sva dobra svojstva LU-dekompozicije, a kako uzima u obzir
posebnosti trodijagonalnih sustava omoguuje dvostruku utedu u kompjuterskom programu:
- utedu memorijskog prostora (pamte se samo elementi razliiti od nule u tri vektora),
- utedu vremena raunanja (broj operacija je drastino smanjen).


2.4.4 PSEUDOKOD

Doolittleova dekompozicija:

DOFOR k=2 to n
e
k
=e
k
/f
k-1

f
k
=f
k
-e
k
*g
k-1

ENDDO

eliminacija unaprijed:

DOFOR k=2 to n
r
k
=r
k
-e
k
*r
k-1

ENDDO

suspstitucija unatrag:

x
n
=r
n
/f
n

DOFOR k=n-1 to 1 step -1
x
k
=(r
k
-g
k
*x
k+1
)/f
k

ENDDO

29

3. FITIRANJE KRIVULJA



3.1 LINEARNE I POLINOMNE REGRESIJE




3.1.1 PROBLEM

Mjerenjem ili na neki drugi nain doli smo do veze izmeu dvije varijable u vidu niza pridruenih
parova vrijednosti:
) , (
i i
y x , n i , , 2 , 1 = .
Kada nacrtamo te toke one izgledaju ovako:




Znamo da je ratrkanost toaka posljedica nedovoljne tonosti postupka kojim smo ih prikupili
(pogreke u mjerenju i sl.) ali se ipak moe uoiti da one nisu besmisleno rasporeene nego
sugeriraju odreeni trend u ponaanju, odnosno imamo osjeaj da postoji funkcijska veza izmeu
promatrane dvije varijable:
) (x f y =
kojom bi se mogao objasniti raspored toaka kada bi se uklonio um.
Dakle, na je zadatak pogoditi tu funkcijsku vezu tj. geometrijski reeno pogoditi krivulju koja
najbolje po nekom kriteriju odgovara zadanim tokama. Budui da su najjednostavnije mogue
funkcije polinomi, posebno linearni, pokuat emo uhvatiti ponaanje toaka pomou pravca
(linearna regresija) ili kvadratne, kubne i sl. parabole (polinomna regresija).

Koji je kriterij po kome emo neku krivulju smatrati najboljom?
Za i -tu vrijednost varijable x - vrijednost
i
x toka na krivulji je:
30
)) ( , (
~
i i i
x f x T
a poznati poloaj je:
)) ( , (
i i i
x f x T .
Smatrat emo najboljom onom krivulju za koju e udaljenost:
2 2
)) ( ( ) ( )
~
, (
i i i i i i
x f y x x T T d + =
biti najmanja i to za sve toke n i , , 2 , 1 = . To je najlake odjednom napisati kao:

= =
= =
n
i
i i
n
i
i i
x f y T T d S
1
2
1
2
)) ( ( )
~
, (
pa traimo funkciju f za koju e ova suma biti najmanja!


3.1.2 METODA

Ako toke ) , (
i i
y x , n i , , 2 , 1 = stoje ovako:




izgleda da bismo im mogli prilagoditi neki pravac:
x a a x f
1 0
) ( + = .
Traiti takav pravac naravno znai traiti vrijednosti koeficijenata
0
a i
1
a takve da je suma:

=
+ =
n
i
i o i
x a a y S
1
2
1
)) ( (
manja nego za bilo koji drugi izbor vrijednosti tih koeficijenata. Dakle, suma S se mijenja kako
mijenjamo
0
a i
1
a :
) , (
1 0
a a S S =
i mi traimo minimum te funkcije, dakle, mora biti:

0
0
1
0
a
S
a
S
.
31
Ako izraunamo:
( ) ( )

=
+ =

n
i
i i
x a a y
a
S
1
1 0
0
) 1 ( 2 ,
( ) ( )

=
+ =

n
i
i i i
x x a a y
a
S
1
1 0
1
) ( 2 ,
izlazi da su
0
a i
1
a rjeenja sustava od dvije linearne jednadbe:

= +
= +


= = =
= =
n
i
i i
n
i
i
n
i
i
n
i
i
n
i
i
y x x a x a
y x a n a
1 1
2
1
1
0
1 1
1 0

Time smo rijeili linearnu regresiju!

Ako toke ) , (
i i
y x , n i , , 2 , 1 = imaju sloeniji raspored ne moemo oekivati da im dobro
odgovara pravac i da se sva odstupanja od pravca mogu pripisati umu. Mogue rjeenje je da im
se moe prilagoditi polinom nekog vieg stupnja m:
m
m
x a x a x a a x f + + + + =
2
2 1 0
) ( .
Prema tome, sada traimo:
? , , ,
1 0
=
m
a a a
takve da je suma:

=
+ + + + =
n
i
m
i m i i o i
x a x a x a a y S
1
2 2
2 1
)) ( (
najmanja, odnosno traimo minimum funkcije:
) , , , (
1 0 m
a a a S S =
te opet mora biti:
0 =

j
a
S
, m j , , 1 , 0 = .
Ako izraunamo:
( ) ( )

= =
+
=
|
.
|

\
|
|
.
|

\
|
= + + + =

n
i
m
k
k j
i k
j
i i
n
i
j
i
m
i m i i
j
x a x y x x a x a a y
a
S
1 0 1
1 0
2 ) ( 2 , m j , , 1 , 0 =
te za koeficijente
m
a a a , , ,
1 0
imamo linearni sustav:

= = =
+
=
|
.
|

\
|
n
i
j
i i
m
k
n
i
j k
i k
x y x a
1 0 1
, m j , , 1 , 0 = .
Ako uvedemo oznake:

=
+
=
n
i
j k
i jk
x
1
, m k j , , 1 , 0 , = ,

=
=
n
i
j
i i j
x y
1
, m j , , 1 , 0 = ,
tada je ] [
jk
matrica sustava, a ] [
j
vektor desne strane i lako moemo uoiti da je:
kj
n
i
k j
i
n
i
j k
i jk
x x = = =

=
+
=
+
1 1
, m k j , , 1 , 0 , = ,
tj., matrica sustava je simetrina, a jednadbe sustava:
32
j
m
k
k jk
a =

=0
, m j , , 1 , 0 = .
zovemo normalnim jednadbama. Ovime smo rijeili i polinomnu regresiju!


3.1.3 SVOJSTVA

Oiti prigovor je da je primjena polinomne, a naroito linearne regresije ograniena na samo vrlo
jednostavne funkcijske veze i da se sigurno veliki broj skupova podataka ne moe tako jednostavno
modelirati. Taj nedostatak se meutim moe u dosta sluajeva zaobii linearizacijom sloenijih
modela. Evo tri vana sluaja.

1) Eksponencijalni model:
bx
ae y =
linearizacijom postaje:
bx a y + = ln ln ,
te se toke ) ln , (
i i
y x mogu modelirati linearnom regresijom:



2) Potencija:
b
ax y = (power equation)
linearizacijom postaje:
x b a y ln ln ln + = ,
te se toke ) ln , (ln
i i
y x mogu modelirati linearnom regresijom:







33



3) Rast do zasienja:
x b
x
a y
+
= (saturation-growth-rate equation)
linearizacijom postaje:
a x b
a
y
1 1 1
+ = ,
te se toke )
1
,
1
(
i i
y x
mogu modelirati linearnom regresijom:

Temeljni problem svake regresije je mogunost da smo pogrijeili model: treba vidjeti koliko je
uistinu malena ta minimalna vrijednost sume:

=
=
n
i
i i
x f y S
1
2
)) ( (
a dobar uvid u rezultat daje grafiki prikaz zadanih toaka regresione krivulje. Dakle, svaki program
trebao bi imati i adekvatan grafiki output.

Uoimo jo da pri rjeavanju sustava za koeficijente polinoma imamo simetrinu matricu. Pametno
je uzeti rjeava koji to uzima u obzir jer se tako moe utedjeti na memoriji i raunu. Takva
metoda je Choleskyjeva metoda koja je LU-dekompozicija za simetrine pozitivno-definitne
matrice.

34
Potencijalni problem linearnih sustava koje treba rijeiti je da su koeficijenti sume potencija
i
x -ova
te se ovisno o tim vrijednostima moe dogoditi da su za veliki m neki koeficijenti jako veliki, a
neki jako maleni i sustav e vrlo vjerojatno biti slabo uvjetovan i trebat e se suoiti sa svim
tekoama takvog sustava. Uope su polinomi prevelikog stupnja loi za modeliranje podataka jer
puno osciliraju!


3.1.4 PSEUDOKOD

Budui da su nam pseudokodovi razliitih rjeavaa linearnih sustava ve poznati dovoljno nam je
napisati psudokod za generiranje koeficijenata sustava.

DOFOR j=1 to m+1
DOFOR k=1 to i
l=(j-1)+(k-1)
a
jk
=0
DOFOR i=1 to n
a
jk
=a
jk
+x
i
l

ENDDO
a
kj
= a
jk

ENDDO
l=j-1
b
j
=0
DOFOR i=1 to n
b
j
=b
j
+y
i
x
i
l

ENDDO
ENDDO




















35
3.2 LAGRANGEOVE INTERPOLACIJE





3.2.1 PROBLEM

Neka nam je poznat niz toaka u ravnini:
) , (
i i
y x , n i , , 1 , 0 =
koje su potpuno toni podaci o vezi izmeu dvije varijable, npr. provjereni tablini podaci, toke na
tono zadanoj krivulji na oplati broda ili sl. No potrebna nam je vrijednost y za neki x koji nije
meu zadanima, dakle neka meutoka, ili se bavimo dizajnom pa elimo nacrtati lijepu krivulju
kroz zadane toke ili sl.
Dakle, problem je poloiti krivulju koja e tono prolaziti kroz zadane toke tj. nai funkciju:
) (x f f =
takvu da je
i i
y x f = ) ( za sve n i , , 1 , 0 = . Kakvu krivulju izabrati?


3.2.2 METODA

Prvo to nam pada na pamet je polinom kao najjednostavnija funkcijska veza, a osim toga znamo i
da postoji jedan jedini polinom n -tog stupnja koji prolazi kroz zadanih 1 + n -toaka. Ostaje samo
pitanje kako izraunati koeficijente tog polinoma:
n
n
x a x a a x f + + + =
1 0
) ( .
Naizgled jednostavno rjeenje je obino uvrtavanje koje odmah daje jednadbe:
i
n
i n i
y x a x a a = + + +
1 0
, n i , , 1 , 0 = ,
odnosno odmah dobivamo linearni sustav od 1 + n -ne jednadbe za 1 + n nepoznati koeficijent. No
poznavajui mogue tekoe sa rjeavanjem linearnih sustava (nagomilavanje numerike greke i
sl.) zakljuujemo da bi bilo bolje nai neki drugi pristup! Uistinu, ima vie formi za taj isti
jedinstveni interpolacioni polinom jedan je Lagrangeova.

Sloimo dakle traeni polinom ovako. Prvo uzmimo samo jednu toku ) , (
i i
y x i postavimo polinom
n -tog stupnja koji prolazi kroz tu toku, a za sve ostale
j
x , i j se ponitava. To je polinom:
i i i
n
i j j
j i
j
y x L y
x x
x x
=
|
|
.
|

\
|

=
) (
, 0
.
Uoimo da je 1 ) ( =
i i
x L i 0 ) ( =
j i
x L za sve i j . Nakon toga je oito dovoljno zbrojiti sve takve
polinome:

=
=
n
i
i i n
y x L x P
0
) ( ) ( Lagrangeov interpolacioni polinom.


Ilustracija za 2 = n odnosno tri toke i pripadnu jedinstvenu kvadratnu parabolu.

36
3.2.3 SVOJSTVA

Lagrangeova forma interpolacionog polinoma vrlo je jednostavna za programiranje i zgodna ako
unaprijed znamo stupanj polinoma.

Ako su nam zadane toke ) , (
i i
y x , n i , , 1 , 0 = i elimo evaluirati neku meutoku
najjednostavnije bi bilo nai najblie dvije bazne toke i postaviti samo linearnu interpolaciju,
zatim uzeti jo jednu blizu baznu toku i postaviti kvadratnu interpolaciju pa vidjeti koliko se
procjena interpolirane vrijednosti promijenila. Ako je promjena znaajna moramo poveati stupanj
na 3, a ako ne onda moemo zaustaviti postupak. Za ovakav iterativni postupak u interpolaciji
pogodna ja Newtonova forma interpolacionog polinoma, a Lagrangeova forma nije.

Lagrangeov interpolacioni polinom dobro je koristiti za meutoke tj. najbolji je za x -eve u sredini
baznih toaka dok izvan podruja
i
x -ova moe biti sasvim pogrean. Dakle, ekstrapolacija se ne
preporuuje.


3.2.4 PSEUDOKOD

y=0
DOFOR i=0 to n
product=y
i

DOFOR j=0 to n
IF ( i j )
product=product*(x-x
j
)/(x
i
-x
j
)
ENDIF
ENDDO
y=y+product
ENDDO



37

3.3 SPLAJN INTERPOLACIJE





3.3.1 PROBLEM

Problem je i dalje problem interpolacije kroz zadane toke:
) , (
i i
y x , n i , , 1 , 0 =
Koji su osnovni nedostaci dosadanjeg pristupa?
Ako kroz 1 + n toku povlaimo jedinstveni polinom n -tog stupnja i ako je broj toaka velik morat
emo raunati polinom visokog stupnja, a takvi polinomi jako osciliraju. Npr. za 100 toaka
polinom je 99-tog stupnja, te ima 98 lokalnih ekstrema, 97 toaka infleksije itd. Polinomi u nekim
sluajevima i za mali broj toaka mogu oscilirati potpuno neadekvatno pravoj funkciji. Npr. kod
step-funkcije poveanje broja poznatih toaka umjesto da povea slinost prave funkcije i
interpolacionog polinoma proizvodi upravo suprotni uinak!




3.3.2 METODA

Rjeenje je u tome da mislimo lokalno a ne globalno, tj. umjesto da kroz sve zadane toke
provuemo jedan jedini interpolacioni polinom, radije kroz manji broj zadanih toaka provucimo
jedan polinom nieg stupnja i zatim takve krivulje pametno lijepimo jedne na druge. To su splajn
interpolacije.

38
Mi emo raditi ovako. Na intervalu izmeu dvije susjedne toke interpoliramo jedan komadi
krivulje
i
f :
) ( ) ( x f x f
i
= za ] , [
1 i i
x x x

, n i , , 2 , 1 = .
Splajnovi e se zatim razlikovati po stupnju polinoma
i
f .

1) Linearni splajn.
Kod ovog splajna svaki
i
f je stupnja 1, tj.
x b a x f
i i i
+ = ) ( za ] , [
1 i i
x x x


dakle nai taj splajn znai nai sve:
i i
b a , , n i , , 2 , 1 = .
To je n 2 nepoznatih za koje dakle treba n 2 jednakosti, a ove jednostavno slijede iz oitih n 2
uvjeta:
1 1
) (

=
i i i
y x f , n i , , 2 , 1 = ,

i i i
y x f = ) ( , n i , , 2 , 1 = .
Dakle za
i i
b a , , n i , , 2 , 1 = imamo sustav:
)
`

= +
= +

i i i i
i i i i
y x b a
y x b a
1 1

i rjeenje je:
i i
i i
i
x x
y y
b

1
1
,
i i i i
x b y a = , n i , , 2 , 1 = .
Kako takav splajn izgleda?




Komadii pravaca poljepljeni su jedni do drugih, pa je rezultirajua krivulja neprekinuta ali ima
iljke u spojnim tokama, tj. nije glatka i nema neprekidnu prvu derivaciju!

2) Kvadratni splajn.
Neka je sada
i
f stupnja 2:
39
2
) ( x c x b a x f
i i i i
+ + = za ] , [
1 i i
x x x



pa treba nai n 3 nepoznatih:
i i i
c b a , , , n i , , 2 , 1 = .
Osim to
i
f mora poeti u toki ) , (
1 1 i i
y x i zavriti u toki ) , (
i i
y x kvadratni splajn moe
nadoknaditi linearnog, moe imati neprekidnu prvu derivaciju u srednjim tokama tj. moe biti
glatka funkcija. Tako imamo ove 1 3 n jednadbe:
1 1
) (

=
i i i
y x f , n i , , 2 , 1 = ,
i i i
y x f = ) ( , n i , , 2 , 1 = ,
) ( ) (
1 i i i i
x f x f

=

+
, 1 , , 2 , 1 = n i ,
odnosno jo nam nedostaje 1 jednakost. Mogui su razliiti izbori, tipino se taj dodatni uvjet
odnosi na jednu od dvije rubne toke ) , (
0 0
y x ili ) , (
n n
y x . Npr. moemo traiti da bude:
0 ) (
0
= x f
to znai da su prve 2 toke spojene pravcem.



Dakle, kvadratni splajn izgleda puno ljepe od linearnog. Ono to i dalje ostaje loe je to to iako
ima neprekidnu tangentu nema neprekidnu zakrivljenost. Taj problem rjeava tek kubini splajn.

3) Kubini splajn.
Sada je
i
f polinom 3. stupnja:
3 2
) ( x d x c x b a x f
i i i i i
+ + + = za ] , [
1 i i
x x x



te imamo ak n 4 nepoznatih koeficijenata:
i i i i
d c b a , , , , n i , , 2 , 1 = .
Uz uvjete kao kod kvadratnog splajna treba dodati uvjet neprekidnosti i 2. derivacije u svim
srednjim tokama, te tako dobivamo 2 4 n jednadbe:
1 1
) (

=
i i i
y x f , n i , , 2 , 1 = ,
40
i i i
y x f = ) ( , n i , , 2 , 1 = ,
) ( ) (
1 i i i i
x f x f

=

+
, 1 , , 2 , 1 = n i ,
) ( ) (
1 i i i i
x f x f

=

+
, 1 , , 2 , 1 = n i ,
odnosno nedostaju nam jo dva uvjeta. Npr. ono to se obino prirodni splajn (natural spline) dobije
se tako da se postave uvjeti:
0 ) (
0 1
= x f ,
0 ) ( =
n n
x f .
Umjesto da uistinu rjeavamo n 4 jednadbi za n 4 nepoznatih, moe se dosta jednostavno izvesti
sljedei izraz za
i
f :
) (
6
) )( ( ) (
) (
6
) )( ( ) (
) (
) ( 6
) (
) (
) ( 6
) (
) (
1
1
1
1 1
1
1
3
1
1
3
1
1

+
+
(

+
+


=
i
i i i
i i
i
i
i i i
i i
i
i
i i
i
i
i i
i
i
x x
x x x f
x x
x f
x x
x x x f
x x
x f
x x
x x
x f
x x
x x
x f
x f

gdje se ) (
i
x f , 1 , , 2 , 1 = n i nalaze iz linearnog sustava:
( ) ( )

=
= + +

+
+
+ + +
) ( ) (
6
) ( ) (
6
) ( ) ( ) ( ) ( 2 ) ( ) (
1
1
1
1
1 1 1 1 1 1
i i
i i
i i
i i
i i i i i i i i i
x f x f
x x
x f x f
x x
x f x x x f x x x f x x
, 1 , , 2 , 1 = n i
koji ima 1 n jednadbu i tridijagonalan je. Nakon ovakvih transformacija, napisati program za
nalaenje kubinog splajna postaje jednostavan zadatak.


3.3.3 SVOJSTVA

U raunarskoj grafici dizajn krivulja i ploha bitno se rjeava pomou splajnova, posebno B-
splajnova, te se ovaj pristup moe smatrati najinteligentnijim rjeenjem problema fitiranja krivulja.


3.3.4 PSEUDOKOD

Budui da su nam poznati rjeavai trodijagonalnih sustava dovoljno je pripremiti koeficijente tog
sustava.

DOFOR i=1 to n-1
IF ( i>=2 ) THEN e
i-1
=x
i
-x
i-1

f
i
=2(x
i+1
-x
i-1
)
IF ( i<=n-2 ) THEN g
i+1
=x
i+1
-x
i

r
i
=6((f(x
i+1
)-f(x
i
))/ (x
i+1
-x
i
)+ (f(x
i-1
)-f(x
i
))/ (x
i
-x
i-1
))
ENDDO

Kada iza toga rijeimo trodijagonalni sustav moemo pozvati dio koda koji radi samu splajn
interpolaciju:
41

IF ( x
0
<=x ) and ( x<=x
n
)
i=0
DO
i=i+1
WHILE ( x>=x
i
)
dx-x
i
-x
i-1
y = f
i-1
*(x
i-1
-x)
3
/6*dx + f
i
*(x-x
i-1
)
3
/6*dx +
(y
i-1
/dx f
i-1
*dx/6)*(x
i
-x) +
(y
i
/dx f
i
*dx/6)*(x-x
i-1
)
ENDIF

42

4. DIFERENCIRANJE I INTEGRIRANJE



4.1 DIFERENCIJACIJA POMOU INTERPOLACIJA





4.1.1 PROBLEM

Pretpostavimo da su nam za neku funkciju f poznate vrijednosti u
i
x , n i , , 1 , 0 = takvima da je h x x
i i
=
+1
.
Da li je mogue iz samo tih podataka izraunati dovoljno dobra numerika priblienja za:
) (
i
x f , ) (
i
x f , ... za n i , , 1 , 0 =
Takav se tip zadatka moe pojaviti ako su podaci )) ( , (
i i
x f x dobiveni mjerenjem ili su na neki
drugi nain poznati i navedeni u nekim tablicama. Takoer je mogue da pomou nekog programa
moemo izraunati vrijednost funkcije f u bilo kojem x -u ali nam je nemogue nai analitiki
izraz za derivacije iste funkcije.


4.1.2 METODA

Razmislimo najprije o prvoj derivaciji: ) (
i
x f je nagib tangente u
i
x a tangentu moemo shvatiti
kao granini sluaj sekante. Dakle mogue numeriko priblienje moe biti nagib sekante koja
prolazi kroz toku ispred
1 + i
x i toku
i
x :
h
x f x f
x f
i i
i
) ( ) (
) (
1


+
, tzv. first forward finite divided difference.
Isto tako moemo promatrati i sekantu kroz toku iza
1 i
x i toku
i
x :
h
x f x f
x f
i i
i
) ( ) (
) (
1

, tzv. first backward finite divided difference,


ili konano i sekantu kroz toku ispred
1 + i
x i toku iza
1 i
x :
h
x f x f
x f
i i
i
2
) ( ) (
) (
1 1 +

, tzv. first centered finite divided difference.
Kako su za dovoljno mali razmak h izmeu toaka sekante sigurno dovoljno sline tangenti
razumno je oekivati da su dani nagibi dovoljno dobra priblienja traene prve derivacije.
Kako dalje kako za drugu derivaciju itd. ?
Oito, kako je druga derivacija prva derivacija prve derivacije to se iz numerikih aproksimacija
prve derivacije mogu na sasvim isti nain izraunati i aproksimacije druge derivacije:

h
x f x f x f
h
x f x f
h
x f x f
h h
x f x f
x f
i i i i i i i i i
i
) ( ) ( 2 ) ( ) ( ) ( ) ( ) ( 1 ) ( ) (
) (
1 2 1 1 2 1
+
= |
.
|

\
|



+ + + + + +
,
tzv. second forward finite divided difference,
43
i slino:
h
x f x f x f
x f
i i i
i
) ( ) ( 2 ) (
) (
2 1
+
, tzv. second backward finite divided difference,
h
x f x f x f
x f
i i i
i
) ( ) ( 2 ) (
) (
1 1 +
+
, tzv. second centered finite divided difference.


4.1.3 SVOJSTVA

Prvo je pitanje koliko su takve aproksimacije tone tj. da li moemo procijeniti greku? Ocjena
greke lako se dobije primjenom Taylorove formule, npr. za prednju konano-razlinu prvu
derivaciju:
) (
) ( ) (
) ( ) ( ) ( ) ( ) (
1 2
1
h O
h
x f x f
x f h O h x f x f x f
i i
i i i i
+

= + + =
+
+
.
Slino slijedi i za stranju te su obje s grekom 1. reda, dok je centralna bolja i ima greku 2. reda:
+

+ + =
+ + + =

+
) 1 ( / ) (
2
) ( ) ( ) ( ) (
) (
2
) ( ) ( ) ( ) (
3
2
1
3
2
1
h O
h
x f h x f x f x f
h O
h
x f h x f x f x f
i i i i
i i i i

) (
2
) ( ) (
) (
2 1 1
h O
h
x f x f
x f
i i
i
+

=
+
.
Kako se greka propagira u derivacije vieg reda? Zanimljivo je da se greka ne poveava tj. red
ostaje isti te su prednja i stranja inaica 1. reda tonosti, a centralna je 2. reda. To moemo vidjeti
ovako:
+

+ + + =
+ + + =
+
+
) 2 ( / ) (
2
) ( ) ( ) ( ) (
) (
2
) 2 (
) ( 2 ) ( ) ( ) (
3
2
1
3
2
2
h O
h
x f h x f x f x f
h O
h
x f h x f x f x f
i i i i
i i i i

) (
) ( ) ( 2 ) (
) (
2
1 2
h O
h
x f x f x f
x f
i i i
i
+
+
=
+ +
i sl.
Nedostaci pristupa:
1) Moe se prigovoriti da je red tonosti mali. To se moe popraviti npr. uvoenjem procjene za
drugu derivaciju u Taylorovu formulu i rjeavanjem po ) (
i
x f :
) (
2
) ( 3 ) ( 4 ) (
) (
2 1 2
h O
h
x f x f x f
x f
i i i
i
+
+
=
+ +

tj. dobivamo poboljanu tonost i dalje se drei iste strategije da derivacije tj. beskonano male
razlike zamjenjujemo konano malim razlikama.
2) Drugi je prigovor ogranienost formula na podatke koji su jednoliko rasporeeni:
h x x
i i
=
+1
za sve n i , , 1 , 0 = ,
a empirijski podaci esto nisu takvi. Tada je puno bolja druga strategija: interpolirati podatke npr.
Lagrangeovim interpolacionim polinomom i onda derivacije raunati analitiki.
3) Konano, podaci dobiveni mjerenjima nikada nisu toni a numerika diferencijacija te pogreke
amplificira!


44



Lijek za taj problem je da ne treba numeriki derivirati sirove podatke nego treba najprije fitirati
kroz toke neku krivulju te zatim tu krivulju po mogunosti analitiki derivirati.

























45

4.2 TRAPEZNA I SIMPOSNOVA FORMULA




4.2.1 PROBLEM

Razliiti problemi vode na potrebu izraunavanja vrijednosti nekog odreenog integrala:

b
a
dx x f ) (
kojeg meutim nije mogue analitiki rijeiti. Dakle potrebna nam je dobra numerika metoda. Pri
tome treba se sjetiti da je sutina pojma odreenog integrala izraunavanje, dakle mjerenje povrina
a svako mjerenje nije nita drugo nego usporeivanje nepoznate veliine sa poznatim jedininim,
kanonskim veliinama. Dakle, povrinu pseudotrapeza ispod podintegralne krivulje treba pokriti
jedininim povrinama i ove prebrojiti!




4.2.2 METODA

Dobar poetak svake numerike integracije prema ideji o mjerenju je podjela povrinu
pseudotrapeza na manje poznate povrine. Dakle, svakako treba osnovni inerval integracije | | b a,
podijeliti na puno manjih podintervala:
b x x x x a
n n
= < < < < =
1 1 0
,
te se baviti povrinama manjih tako dobivenih pseudotrapeza.









46



Najjednostavnije je zatim uzeti po jedan takav podinterval | |
1
,
+ i i
x x i nad njime podintegralnu
funkciju koju ne znamo analitiki integrirati zamijeniti nekom vrlo najjednostavnijom moguom
funkcijom polinomom 1. stupnja. Geometrijski to znai da smo pseudotrapez zamijenili trapezom.
Pri tom ne uzimamo proizvoljni polinom 1. stupnja nego interpolacioni kroz 2 rubne toke te nakon
analitike integracije za taj polinom u npr. Lagrangeovoj formi dobivamo priblinu formulu:
2
) ( ) (
) (
1
1
+
+

+
i i
x
x
x f x f
h dx x f
i
i
,
koja je naravno potpuno u skladu s geometrijskom interpretacijom. Viestrukom primjenom
dobivamo:
|
.
|

\
|
+ +


=
) ( ) ( 2 ) (
2
) (
1
1
0 n
n
i
i
b
a
x f x f x f
h
dx x f
i
, trapezna formula.




Tonost najvjerojatnije moemo poveati ako uzmemo polinom 2. stupnja. No za interpolaciju
polinoma 2. stupnja trebaju nam po 3 interpolacione toke izvorne krivulje dakle po 2 podintervala.
47
Dakle tada moramo uzeti subdiviziju s parnim brojem podintervala, te nakon interpolacije i
integracije kvadratne parabole nad | |
2
,
+ i i
x x dobivamo:
6
) ( ) ( 4 ) (
2 ) (
2 1
2
+ +
+ +

+
i i i
x
x
x f x f x f
h dx x f
i
i
,
odnosno nakon viestruke primjene:
|
.
|

\
|
+ + +

=
) ( ) ( 2 ) ( 4 ) (
3
1
) (
2
6 , 4 , 2
1
5 , 3 , 1
0 n
n
i
i
n
i
i
b
a
x f x f x f x f h dx x f
i
, Simpsonova 1/3 formula.



Dalje moemo primijeniti polinome 3. stupnja pa nam trebaju po 4 interpolacione toke izvorne
krivulje dakle po 3 podintervala te moramo napraviti subdiviziju s brojem podintervala djeljivim s
3. Nakon interpolacije i integracije ovaj puta kubne parabole nad | |
3
,
+ i i
x x dobivamo:
( ) ) ( ) ( 3 ) ( 3 ) (
8
3
) (
3 2 1
3
+ + +
+ + +

+
i i i i
x
x
x f x f x f x f h dx x f
i
i
,
te nakon viestruke primjene dobivamo Simpsonovu 3/8 formulu.


4.2.3 SVOJSTVA

Osnovno pitanje, kao i obino, je kakva je tonost ovako dobivenih formula. Kako je greka pri
interpolaciji poznata, lako izraunamo kako se mijenja pri integraciji te dobivamo sljedee ocjene
greke.
1) Za trapeznu formulu je:
f
n
a b
E
t

=
2
3
12
) (

( indeks t stoji za truncation error). Uoavamo da je formula tona ako je 0 = f , dakle samo za
pravce, a za ostale funkcije se moe poveati usitnjavanjem subdivizije, i to ako se broj
podintervala povea 2 puta greka e se smanjiti 4 puta.
2) Za 1/3 Simpsonovu formulu je:
48
) 4 (
4
5
180
) (
f
n
a b
E
t

= .
Zanimljivo je da je formula izvedena za kvadratne parabole ali je tona i za kubne jer je greka nula
ako je 0
) 4 (
= f , dakle formula je tonija nego to smo oekivali! Osim toga, ako se u ovom sluaju
broj podintervala povea 2 puta greka e se smanjiti ak 16 puta budui da je greka obrnuto
proporcionalna s
4
n .
3) Za 3/8 Simpsonovu formulu je:
) 4 (
4
5
) (
. f
n
a b
const E
t

= .
Dakle, formula je tona za kubne parabole, u skladu sa svojim izvodom te nije bitno tonija od 1/3
Simposnove.
Tipina strategija pri numerikoj integraciji je primjena Simpsonovih fromula i to samo 1/3-nske
ako je broj podintervala paran, ili kombinirano 3/8 i 1/3 ako je broj nepran.




Nedostaci ovih formula su sljedei. Ako su poznati podaci nejednoliko rasporeeni ne moe se
primijeniti uzastopne verzije formula nego je npr. raditi s trapeznom formulom za svaki segment ili
ako su 2 uzastopna segmenta iste duljine sa Simpsonovom 1/3 formulom i sl. ime se poveava
tonost.


4.2.4 PSEUDOKOD


Kombiniramo 1/3 i 3/8 Simpsonovu formulu tako da ako je broj intervala neparan za zadnja 3
primijenimo 3/8, a na sve druge parove 1/3 formulu, te naravno, ako je broj intervala paran
primjenjujemo samo 1/3 formulu.




49
h=(b-a)/n
m=n
IF ( n is odd ) and ( n>1 )
I=I+(3/8)h(f(x
n-3
)+3(f(x
n-2
)+f(x
n-1
))+f(x
n
))
m=n-3
ENDIF
IF ( m>1 )
I=I+(1/3)h(f(x
0
)+4

=
1
5 , 3 , 1
m
i
f(x
i
)+2

=
2
6 , 4 , 2
m
i
f(x
i
)+f(x
m
))
ENDIF




































50
4.3 GAUSSOVA INTEGRACIJA





4.3.1 PROBLEM

I nadalje se bavimo numerikom integracijom. Kod formula s kojima smo dosad radili, trapeznom i
Simpsonovom, poveanje tonosti postiemo poveanjem broja podintervala to meutim znai i
poveanje broja numerikih operacija a s time dolazi do nagomilavanja greke zaokruivanja. U
jednom trenutku tog procesa greka formule e nam postati manja od greke zaokruivanja, ova e
dalje rasti s poveanjem broja operacija i daljnje poveanje broja podintervala nee vie popravljati
tonost nego je smanjivati!




Zakljuujemo da je za poveanje tonosti potrebno nai formule koje imaju manji broj operacija po
podintervalu a veu tonost.


4.3.2 METODA

Promotrimo, dakle, trapeznu formulu:
) (
2
1
) (
2
1
b f a f I + .
Ona zahtjeva 2 evaluacije funkcije, 2 mnoenja i 1 zbrajanje. Pitamo se d a li je mo gu e u z isti
uloeni trud raunanja postii veu tonost, odnosno ako trapeznu formulu shvatimo kao formulu:
) ( ) (
1 1 0
x f c x f c I
o
+ .
da li je mogue pametnijim odabirom brojeva
0
c ,
1
c ,
0
x i
1
x umjesto 2 / 1 , 2 / 1 , a i b dobiti
integracijsku formulu vee tonosti. Razmislimo, to znai da nova formula sada sadri 4 nepoznate
veliine
0
c ,
1
c ,
0
x i
1
x
51
znai moemo postaviti ak 4 uvjeta. I tako umjesto to je trapezna tona za konstantne funkcije i
linearne polinome, dakle za 2 funkcije, sada moemo traiti da priblina formula bude tona ak za
4 razliite funkcije:
1 ) ( = x f , x x f = ) ( ,
2
) ( x x f = i
3
) ( x x f = ,
dakle tona ak za kubne parabole. Ostaje samo da iz poetne formule i 4 uvjeta efektivno
izraunamo traene parametre. No da bismo to uinili moramo uoiti da vrijednosti
0
x i
1
x moraju
biti iz intervala | | b a, tj. njihov se poloaj mijenja ovisno o tom intervalu. Da ne bismo morali
uvijek nanovo traiti te brojeve, preslikajmo najprije proizvoljni interval | | b a, na kanonski
interval | | 1 , 1 i obratno:




+ = x ,
gdje kako mora biti a slika od 1 i b slika od 1, tj.:
+ = a i + = b ,
slijedi da je:
2
a b
= i
2
b a +
= .
Sada na intervalu | | 1 , 1 traimo da za funkcije:
1 ) ( = , = ) ( ,
2
) ( = i
3
) ( =
integracijska formula:
) ( ) (
1 1 0
+
o
I .
bude tona, tj. rjeavamo sljedei sustav jednakosti:

= = +
= = +
= = +
= = +

0
3
2
0
2 1 1
1
1
3 3
1 1
3
0 0
1
1
2 2
1 1
2
0 0
1
1
1 1 0 0
1
1
1 0
d
d
d
d

i dobivamo:
1
1 0
= = ,
3
1
0
= i
3
1
0
= .
Sada za proizvoljni integral imamo:
( ) ) ( ) ( ) ( ) ( ) (
1 1 0
1
1
1
1
+ = + =


o
b
a
d d f dx x f
odnosno:
52
( ) ) ( ) ( ) (
1 1 0
+ + +

f f dx x f
o
b
a
,
i to je Gaussova formula kroz dvije toke. Openito Gaussove formule kroz n toaka:
) ( ) ( ) (
1 1 1 1 0
+ + +
n n o
x f c x f c x f c I
izvode se na slian nain. Ovakva formula ima 2n nepoznatih pa moe biti tona za 2n funkcija,
dakle ak za polinom (2n-1)-vog stupnja.

4.3.4 SVOJSTVA

1) Na ovaj nain postigli smo eljeno poboljanje u tonosti. Kod Newton-Cotesovih formula
(trapezna, Simpsonova itd.) toke , ,
1 0
x x su fiksne pa su proizvoljni samo , ,
1 0
c c i formule
mogu biti tone za n funkcija tj. za polinome (n-1)-vog stupnja, a ove Gaussove formule su kao to
smo to ve zakljuili tone za polinome (2n-1)-vog stupnja. ustvari tona analiza pokazuje da je:
( )
( ) ( )
) (
! 2 ) 1 2 (
! 2
) 2 (
3
4 1 2

+
=
+
n
n
t
n n
n
E , 1 , 1 .

2) Osnovni nedostatak ovih formula u odnosu na Newton-Cotesove je da ih moemo primijeniti
samo ako moemo izraunati vrijednost funkcije f u bilo kojoj toki te su potpuno nepogodne za
tablino zadane funkcije.
3) Kao i kod Newton-Cotesovih forluma poveanje tonosti moe se postii subdivizijom osnovnog
intervala integracije.











53
4.3.5 PSEUDOKOD

Pseudokod za subdiviziju i Gaussovu integraciju kroz 3 toke.

h=(b-a)/m
I=0
DO i=0 to m-1
xl=a+i*h
xd=xl+h
=(xd-xl)/2
=(xd+xl)/2
I=I+ *(c0*f(*x0+)+c1*f(*x1+)+c2*f(*x2+))
ENDDO








54

5. OBINE DIFERENCIRANJE JEDNADBE





5.1 EULEROVA METODA





5.1.1 PROBLEM

Promatramo obine diferencijalne jednadbu prvog reda oblika:
) , ( y x f y =
koju treba rijeiti po ? ) ( = = x y y uz poetni uvjet:
0 0
) ( y x y = .
Kako to treba shvatiti?





Za proizvoljnu toku u ravnini
2
) , ( R y x pogledajmo pravac s koeficijentom nagiba:
R y x f = ) , ( tan .
Krivulja koja prolazi kroz tu toku i u toj toki ima ovaj pravac za tangentu zadovoljava zadanu
obinu diferencijalnu jednadbu u toj toki. Dakle, obina diferencijalna jednadba odreuje kako
moramo izai iz toke ako se kreemo po traenoj krivulji. Takvih je krivulja oito beskonano
mnogo pa nam treba jedan uvjet kojim emo izdvojiti jednu poetni uvjet znai da traimo ba
onu koja prolazi kroz toku:
) , (
0 0
y x .
Postoji puno sluajeva kada je obinu diferencijalnu jednadbu nemogue rijeiti analitiki, dakle
kada je jedini mogui pristup nekakva numerika metoda. Numeriki nai to rjeenje znai
numeriki nai krivulju:
) (x y y =
55
dakle, nai niz toaka na toj krivulji. Obino uzimamo mali korak h i numeriki nalazimo toke na
toj krivulji s apscisama:
, 2 , ,
0 2 0 1 0
h x x h x x x + = + =


5.1.2 METODA

Ideja je sljedea: ako je ) , (
0 0
y x toka na krivulji i ako tangenta u toj toki ima nagib:
) , ( tan
0 0 0 0
y x f k = = .
tada je sasvim blizu te toke ovaj pravac dobra zamjena za krivulju, te ako uzmemo dovoljno mali
h moemo smatrati da je toka na pravcu za h x x + =
0 1
praktino i na krivulji, tj. uzimamo da je:
h k y x y y
0 0 1 1
) ( + = .
Kada smo se tako pomakli u mom novu toku krivulje ) , (
1 1
y x promatramo pravac u toj toki s
nagibom:
) , ( tan
1 1 1 1
y x f k = = .
i opet se pomiemo za h po tom novom pravcu do toke s h x x + =
1 2
, , tj. uzimamo da je:
h k y x y y
1 1 2 2
) ( + = ,
itd. Ako tako nastavimo dalje dobivamo toke za koje moemo smatrati da su na traenoj krivulji.
Pitanje je koliko je to tono?
Ime metode je:
Eluer-Cauchy method or the point-slope method
i temeljna formula je:
h y x f y y
i i i i
) , (
1
+ =
+
.








56
5.1.3 SVOJSTVA

Temeljno je pitanje kolika je greka te metode? Kada izuzmemo greku zbog zaokruivanja i
pogledamo greku zbog same metode treba uoiti sljedee.
1) Jedan dio greke je lokalne prirode: ako je neka toka ) , (
i i
y x ak i tona idua toka vie nee
biti, osim ako je krivulja ba pravac. Ustvari odmah iz Taylorova razvoja:
) ( ) , (
2
1
h O h y x f y y
i i i i
+ + =
+

vidimo da je lokalna greka 2. reda.




2) Drugi dio greke je propagirajue prirode: greka koja je nastala u jednom koraku odrava se i
propagira kroz korake koji slijede. Npr. u iduoj toki koja vie nije tona i tangenta je drugaija
nego u pravoj iduoj toki itd. To slabi ukupnu tonost metode i moemo lako dobiti da je
globalna (lokalna+propagacije) greka 1. reda.




57
Zakljuak je dakle da metoda nije efikasna ali joj se tonost moe kontrolirati smanjivanjem koraka
h a pored toga ja atraktivna zbog svoje ekstremne jednostavnosti i oiglednosti.

5.1.4 PSEUDOKOD

n=1
DO
n=n*2
IF ( n>2 ) yold=y
h=(x-x0)/n
x=x0
y=y0
DO i=1 to n
k1=f(x,y)
x=x+h
y=y+k1*h
ENDDO
WHILE ( n<=NMAX ) and ( (n=2) or (|yold-y|>) )






























58
5.2 RUNGE-KUTTA METODA





5.2.1 PROBLEM

elimo postii veu tonost u numerikom rjeavanju obine diferencijalne jednadbe nego to daje
Eulerova metoda popravljanjem lokalne greke. Usporedbom Eulerove formule i Taylorovog
razvoja vidjeli smo da je ona 2. reda jer se Eulerova metoda zasniva na zadravanju lanova
Taylorovog razvoja do 1. reda, pa zakljuujemo da se vea lokalna tonost moe postii
zadravanjem viih lanova razvoja:
+ + + + =
+
3
3
3
2
2
2
1
) (
! 3
1
) (
! 2
1
) ( h x
dx
y d
h x
dx
y d
h x
dx
dy
y y
i i i i i

ali je to doslovno mogue samo ako znamo vie derivacije a to je nemogue dobiti iz obine
diferencijalne jednadbe 1. reda. Dakle, pitanje je da li se samo poznavanjem 1. derivacije moe
ipak to postii?


5.2.2 METODA

Neka imamo poetnu toku koraka ) , (
i i
y x i koeficijent smjera tangente u toj toki:
) , (
1 i i
y x f k = .
Zatim se pomaknemo ne za cijeli korak h nego do nekog h p x
i 1
+ , gdje emo
1
p kasnije odrediti,
dakle do:
) , (
1 1 1
h k p y h p x
i i
+ +
i onda gledamo koeficijent smjera tangente u toj toki:
) , (
1 1 1 2
h k p y h p x f k
i i
+ + = .
Sada umjesto da gaamo iz ) , (
i i
y x samo sa
1
k , kao kod Eluera, probamo s nekom linearnom
kombinacijom:
2 2 1 1
k a k a +
smjerova
1
k i
2
k , gdje je opet ? ,
2 1
= a a za sada. Pitamo se da li ovako moemo postii lokalnu
greku 3. reda, tj. da bude:
= + + =
+
h k a k a y y
i i
) (
2 2 1 1 1
Taylorov razvoj do 2. lana?
Lako moemo izvesti da to moe vrijediti ako se uzme:

=
= +
2
1
1
1 2
2 `
p a
a a

Tako dobivene metode su Runge-Kutta metode drugog reda i razlikuju se po odabirima parametara
1 2 1
, , p a a .



59
1) Heunova metoda:
2
1
2 1
= = a a , 1
1
= p



2) Popravljena poligonalna metoda: 0
1
= a , 1
2
= a ,
2
1
1
= p



3) Ralstonova metoda:
3
1
1
= a ,
3
2
2
= a ,
4
3
1
= p



Slino kao do sada ali sa 3 toke i linearnom kombinacijom 3 koeficijenta smjera dobiva se lokalna
tonost 4. reda i to su Runge-Kutta meotde treeg reda. Od tih najpopularnija je varijanta:
) , (
1 i i
y x f k = ,
)
2
1
,
2
1
(
1 2
h k y h x f k
i i
+ + = ,
60
) ) 2 ( , (
2 1 3
h k k y h x f k
i i
+ + + = ,
h k k k y y
i i
|
.
|

\
|
+ + + =
+ 3 2 1 1
6
1
6
4
6
1
.
Kad na isti nain dobivamo lokalnu tonost 5. reda metoda se zove Runge-Kutta metoda etvrtog
reda i jedna mogua je dana formulama:
) , (
1 i i
y x f k = ,
)
2
1
,
2
1
(
1 2
h k y h x f k
i i
+ + = ,
)
2
1
,
2
1
(
2 3
h k y h x f k
i i
+ + = ,
) , (
3 4
h k y h x f k
i i
+ + = ,
( )h k k k k y y
i i 4 3 2 1 1
2 2
6
1
+ + + + =
+
.


5.2.3 SVOJSTVA

Ve iz ideje i izvoda ovih metoda poznata nam je lokalna i globalna greka. Tipini inenjerski
odabir je Runge-Kutta 4. reda. Postoje i Runge-Kutta metode vieg reda, kao npr. Butcherova
metoda 5. reda itd., ali se zbog poveavanja koliine rauna ne isplate. I ovako se uvijek tonost
moe popraviti smanjenjem koraka h . I Eulerova i Runge-Kutta metode primjenjuju se naravno i
na sustave obinih diferencijalnih jednadbi.


5.2.4 PSEUDOKOD

Pseudokod za Runge-Kutta metodu 4. reda

n=1
DO
n=n*2
IF ( n>2 ) yold=y
h=(x-x0)/n
x=x0
y=y0
DO i=1 to n
k1=f(x,y)
k2=f(x+h/2,y+h*k1/2)
k3=f(x+h/2,y+h*k2/2)
k4=f(x+h,y+h*k3)
x=x+h
y=y+h*(k1+2*k2+2*k3+k4)/6
ENDDO
WHILE ( n<=NMAX ) and ( (n=2) or (|yold-y|>) )

You might also like