Professional Documents
Culture Documents
c
Zlatko
Drmac
Studeni 2010.
Sadr
zaj
I
Diferencijalne jednad
zbe
1 Numeri
cko rje
savanje IP za ODJ
1.1 Rjesivost . . . . . . . . . . . . . . . . . . .
1.2 Jednokoracne metode . . . . . . . . . . . .
1.2.1 Eulerova metoda . . . . . . . . . .
1.2.2 Konvergencija . . . . . . . . . . . .
1.2.3 Trapezna metoda . . . . . . . . . .
1.3 RungeKuttine metode . . . . . . . . . . .
1.4 Visekoracne metode . . . . . . . . . . . . .
1.4.1 AdamsBashforthove metode . . .
1.4.2 AdamsMoultonove metode . . . .
1.4.3 Linearne diferencijske jednadzbe . .
1.4.4 Konvergencija visekoracnih metoda
1.5 Kruti sistemi i Astabilnost . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4
5
6
7
8
12
12
15
15
19
20
22
30
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
45
45
46
51
56
60
SADRZAJ
II
Aproksimacija funkcija
3.4
61
62
62
65
Dio I
Diferencijalne jednad
zbe
Poglavlje 1
Numeri
cko rje
savanje inicijalnog
problema za ODJ
U mnogim primjenama u prirodnim i inzenjerskim znanostima se vremenska promjena stanja promatranog sustava (mehanicki sustav, kemijska reakcija) opisuje
diferencijalnim jednadzbama koje matematicki opisuju zakone (npr. zakoni mehanike)
koji
y (t) = f (t, y(t)), t t0
y(t0 ) = y0
(1.0.1)
f1 (t, y1 (t), y2 (t), . . . , yd (t))
y1 (t0 )
(y0 )1
y1 (t)
y (t) f2 (t, y1 (t), y2 (t), . . . , yd (t)) y2 (t0 ) (y0 )2
2
, .. = .. .
.. =
..
.
. .
.
f (t,y(t))
bd (t)
POGLAVLJE 1. NUMERICKO
RJESAVANJE
IP ZA ODJ
1.1
Rje
sivost
j=1
z2 z1
j=1
d max
sup
j=1:d (t,x)ID
[0,1]
|j fk (t, x)| z2 z1
d Mf z2 z1 , Mf max max
sup
|j fk (t, x)| .
POGLAVLJE 1. NUMERICKO
RJESAVANJE
IP ZA ODJ
1.2
Jednokora
cne metode
POGLAVLJE 1. NUMERICKO
RJESAVANJE
IP ZA ODJ
1.2.1
Eulerova metoda
Kljucni element numerickog rjesavanja inicijalnog problema (1.0.1) je kako iskoristiti diferencijalnu jednadzbu i od poznate vrijednosti y(t0 ) dobiti sto bolju aproksimaciju za y(t1 ) i tako dalje, t0 y t1 y y ti y ti+1 y sve do zadnje tocke
tn .
ti+1
ti+1
y(ti+1 ) y(ti ) =
y ( )d =
f (, y( ))d
ti
(1.2.1)
ti
(1.2.2)
ti
Geometrijski, iz tocke (ti , y(ti )) se gibamo duz pravca y(t) = y(ti )+f (ti , y(ti ))(tti )
sve do t = ti+1 . Naravno, osim u t = t0 kada je y(t0 ) poznata zadana vrijednost, sve
vrijednosti y(ti ) su zamijenjene aproksimacijama yi . Diskretne vrijednosti t0 , t1 , . . .
mozemo birati sa varijabilnim koracima hi = ti+1 ti ili, jednostavnije, ekvidistantno h = ti+1 ti za sve i = 0, 1, . . ..
[y] = Euler(f, y0 , h, n)
for i = 0, . . . , n 1
yi+1 = yi + hf (ti , yi )
end
[y] = Euler(f, y0 , t, n)
for i = 0, . . . , n 1
yi+1 = yi + (ti+1 ti )f (ti , yi )
end
POGLAVLJE 1. NUMERICKO
RJESAVANJE
IP ZA ODJ
Definicija 1.2.1. Jednokoracna eksplicitna metoda za numericko rjesavanje inicijalnog problema (1.0.1) racuna niz aproksimacija
yi+1 = yi + hi (ti , yi , hi ), i = 0, 1, 2, . . .
(1.2.3)
1.2.2
Konvergencija
Naravno, zanima nas kada mozemo garantirati da ce metoda (1.2.3) dati konvergentan niz aproksimacija. Pri tome prvo trebamo denirati konvergenciju.
Za pocetak, vazna nam je pogreska jednog koraka: ako metodi na intervalu
[ti , ti+1 ] [t, t + t] damo egzaktnu vrijednost rjesenja u lijevom rubu, koliko je
odstupanje aproksimacije u ti+1 ?
Definicija 1.2.2. Lokalna pogreska diskretizacije metode (1.2.3) u tocki t + h je
denirana s
(t, h) = y(t + h) y(t) h(t, y(t), h).
(1.2.4)
Primijetimo da (1.2.3) daje yi+1 yi hi (ti , yi , hi ) = 0, pa lokalna pogreska
diskretizacije mjeri kako dobro egzaktno rjesenje zadovoljava rekurziju jednokoracne
metode (1.2.3).
yi+1 yi
(ti , yi , hi )
hi
(t, h)
y(t + h) y(t)
=
(t, y(t), h).
h
h
|
{z
}
0 =
y (t)(h 0)
Odavde odmah izvodimo nuzan uvjet da bi metoda imala smisla metoda treba
biti konzistentna u smislu sljedece denicije:
Definicija 1.2.3. Metoda (1.2.3) je konzistentna ako za sve t [t0 , T ] vrijedi
lim (t, y(t), h) = f (t, y(t)).
h0
POGLAVLJE 1. NUMERICKO
RJESAVANJE
IP ZA ODJ
y
(
)
1
1
h2 .
y(t + h) = y(t) + hy (t) +
..
2
yd (d )
lako dobijemo
y
(
)
1
1
h2 .
y(t + h) y(t) hf (t, y(t)) =
..
2
yd (d )
i=0:n1
)p
max (ti+1 ti )
i=0:n1
(1.2.6)
POGLAVLJE 1. NUMERICKO
RJESAVANJE
IP ZA ODJ
10
i+1 (1 + L hi ) i + hi Ch , i = 0, . . . , n 1.
Odavde se moze zakljuciti (tehnicka lema) da je
i
i1
C L i1
j=0 hj .
j=0 hj 1)h + eL
(e
0
L
Korolar 1.2.3. Neka vrijede uvjeti iz Teorema 1.2.2 i neka je t (t0 , T ]. Neka
je hn = (t t0 )/n i neka yi,hn , i = 1, . . . , n, oznacava aproksimacije dobivene s
fiksnim korakom hn . Tada je
lim yn,hn y(t) = 0.
POGLAVLJE 1. NUMERICKO
RJESAVANJE
IP ZA ODJ
11
Sada od dvije dobivene aproksimacije yi,h i yi,h pokusajmo sloziti linearnu kombinaciju yi,h + yi,h koja ce biti bolja od obe. Prirodno je zahtijevati + = 1.
Lako izracunamo da je
+ 2 (h2 + h
2 ) + O(h3 ) + O(h
3)
yi,h + yi,h = y(ti ) + 1 (h + h)
= 0 daje
i odmah uocavamo da odabir i tako da je jos i h + h
yi,h + yi,h = y(ti ) + O(h2 ).
= h/2 onda je = 1, = 2 i imamo novu aproksimaciju
Ako je na primjer h
yi = 2y2i,h/2 yi,h .
Prakticna izvedba ove nove sheme se sastoji u tome da se dva Eulerova procesa
kombiniraju odmah u hodu.
yi+1,h = yi + hf (ti , yi )
h
yi+1/2,h/2 = yi + f (ti , yi )
2
h
h
yi+1,h/2 = yi+1/2,h/2 + f (ti + , yi+1/2,h/2 )
2
2
yi+1 = 2yi+1,h/2 yi+1,h
Algoritam je jednostavan:
[y] = Euler2(f, y0 , h, n)
for i = 0, . . . , n
yi+1 = yi + hf (ti + h/2, yi + (h/2)f (ti , yi ))
end
Sada cemo se uvjeriti da je lokalna pogreska diskretizacije poboljsane Eulerove
metode za red velicine manja (u odnosu na klasicnu Eulerovu metodu). Racunamo
di+1 = y(ti+1 ) y(ti ) hf (ti + h/2, y(ti ) + (h/2)f (ti , y(ti )))
y (ti ) 2 y (ti ) 3
= y (ti )h +
h +
h+
2
6
POGLAVLJE 1. NUMERICKO
RJESAVANJE
IP ZA ODJ
1.2.3
12
Trapezna metoda
1.3
RungeKuttine metode
Zeljeli
bismo poboljsati jednostavne jednokoracne metode. Polazimo od osnovne
relacije
tk+1
y(tk+1 ) = y(tk ) +
f (, y( ))d,
tk
i u njoj pokusajmo numericku vrijednost integrala aproksimirati koristeci dodatne cvorove u [tk , tk+1 ] i dodatne slobodne parametre koje cemo naknadno no
nastimati. Konkretno, uzmimo na primjer tri cvora 1 , 2 , 3 , tri dodatna parametra c1 , c2 , c3 i potrazimo formulu oblika
yk+1 = yk + h[c1 f (1 , y(1 )) + c2 f (2 , y(2 )) + c3 f (3 , y(3 ))],
(1.3.1)
pri cemu cemo slobodne parametre iskoristiti da dobijemo sto veci red konzistentnosti, tj. sto je moguce manju lokalnu pogresku diskretizacije.
Odaberimo 1 = tk , 2 = tk + a2 h, 3 = tk + a3 h sa 0 < a2 , a3 < 1. Kako nam
vrijednosti y(i ) nisu dostupne, zamijenit cemo ih prediktorima aproksimacijama,
ali opet sa slobodnim parametrima A21 , A31 , A32 :
y(1 ) yk
y(2 ) yk + hA21 f (tk , yk )
y(3 ) yk + hA31 f (tk , yk ) + hA32 f (tk + a2 h, yk + hA21 f (tk , yk ))
Odavde dobivamo opci oblik ktog koraka:
1 = f (tk , yk )
2 = f (tk + a2 h, yk + hA21 1 )
3 = f (tk + a3 h, yk + h(A31 1 + A32 2 ))
yk+1 = yk + h(c1 1 + c2 2 + c3 3 )
(1.3.2)
POGLAVLJE 1. NUMERICKO
RJESAVANJE
IP ZA ODJ
13
Sada osam slobodnih parametara treba odrediti tako da dobivena shema bude
sto je moguce bolja. Za pocetak, osigurajmo npr. da prediktori (1.3.2) u nekim
jednostavnim primjerima rade perfektno. Recimo, ako rjesavamo y (t) = 1 na
(0, ) sa y(0) = 0, onda je rjesenje dano s y(t) = t. Ako zahtijevamo da su u
ovom jednostavnom primjeru1 prediktori egzaktni, onda dobivamo uvjete
a2 = A21
a3 = A31 + A32
Ostale uvjete na slobodne koecijente cemo izvesti iz oblika lokalne pogreske
diskretizacije
gdje je:
dk+1
1
2
3
Sada sve i razvijemo u Taylorov red oko (tk , y(tk )). Dobijemo
2 = f (tk , y(tk )) + t f (tk , y(tk )) a2 h + y f (tk , y(tk )) a2 hf (tk , y(tk ))
1 2
2
+
f (tk , y(tk )) a22 h2 + ty
(tk , y(tk )) a22 h2 f (tk , y(tk ))
2 tt
1 2
+
f (tk , y(tk ))a22 h2 f 2 (tk , y(tk )) + O(h3 )
2 yy
3 = f (tk , y(tk )) + a3 hF (tk , y(tk )) + h2 (a2 A32 F (tk , y(tk ))y f (tk , y(tk ))
1 2
+
a G(tk , y(tk ))) + O(h3 ), gdje je
2 3
F (tk , y(tk )) = t f (tk , y(tk )) + y f (tk , y(tk ))f (tk , y(tk ))
2
G(tk , y(tk )) = tt2 f (tk , y(tk )) + 2ty
f (tk , y(tk ))f (tk , y(tk ))
2
+ yy
f (tk , y(tk ))f 2 (tk , y(tk ))
Razumno je zahtijevati da se metoda koju pokusavamo konstruirati dobro ponasa u jednostavnim slucajevima.
POGLAVLJE 1. NUMERICKO
RJESAVANJE
IP ZA ODJ
14
Ako sada sve navedene razvoje iskoristimo u izrazu za dk+1 i uredimo ga po potencijama od h dobijemo
1
dk+1 = hf (tk , y(tk ))(1 c1 c2 c3 ) + h2 F (tk , y(tk ))( a2 c2 a3 c3 )
2
[
1
+ h3 F (tk , y(tk ))y f (tk , y(tk ))( a2 c3 A32 )
6
]
1 1 2
1 2
+ G(tk , y(tk ))( a2 c2 a3 c3 ) + O(h4 ).
6 2
2
Vidimo da mozemo postici dk+1 = O(h4 ) ako koecijenti zadovoljavaju sljedeci
sustav jednadzbi:
c1 + c2 + c3 = 1
a2 c2 + a3 c3 = 12
a2 A32 c3 = 16
a22 c2 + a23 c3 = 13
parametara, cetiri jednadzbe. Uzmimo da su a2 , a3 (0, 1) slobodni parametri
Sest
i rijesimo uz uvjete a2 = a3 , a2 = 2/3:
6a2 a3 + 2 3(a2 + a3 )
3a3 2
2 3a2
, c2 =
, c3 =
,
6a2 a3
6a2 (a3 a2 )
6a3 (a3 a2 )
a3 (a3 a2 )
= a2 , A32 =
, A31 = a3 A32 .
a2 (2 3a2 )
c1 =
A21
POGLAVLJE 1. NUMERICKO
RJESAVANJE
IP ZA ODJ
15
(1.3.3)
Nekoliko komentara:
Prvo sto uocavamo je da je procedura izvodenja formula komplicirana. Za
metodu jos viseg stupnja su izrazi s parcijalnim derivacijama jos kompliciraniji.
Povecavanjem stupnja metode, tj. uvodenjem vise slobodnih parametara
postizemo veci red metode. Na zalost, stupanj 4 je najveci za kojeg je metoda
reda 4. Maksimalni red za stupanj 5 je 4, za stupanj 6 je maksimalni red
metode 5, za stupnjeve 7 i 8 je maksimalni red jednak 6, dok metoda stupnja
9 ima maksimalni red jednak 7.
Metoda je nelinearna i u svakom koraku treba nekoliko puta racunati vrijednosti funckije f .
1.4
Vi
sekora
cne metode
Kada pogledamo npr. Eulerovu metodu koja pocevsi od zadane vrijednosti y(t0 ) =
y0 generira niz aproksimacija u cvorovima t1 , t2 , . . . , tk3 , tk2 , tk1 , tk onda nam se
cini razumnim da pri racunanju aproksimacije u tk+1 uzmemo u obzir ne samo
tk , yk nego i dio iz proslosti, tj. vrijednosti yk1 , yk2 , . . . iz nekoliko prethodnik
koraka. Kako mozemo iskoristiti tu informaciju?
Rezultat su takozvane visekoracne metode. Primjere takvih metoda cemo konstruirati koristeci jednostavnu heuristiku baziranu na interpolacijskom polinomu.
1.4.1
AdamsBashforthove metode
Prisjetimo se, u jednom koraku metoda koje smo do sada proucavali koristimo
relaciju
tk+1
f (, y( ))d,
y(tk+1 ) = y(tk ) +
tk
POGLAVLJE 1. NUMERICKO
RJESAVANJE
IP ZA ODJ
16
i u njoj na razlicite nacine numericki racunamo integral. Sada pogledamo informaciju nekoliko koraka unazad, recimo u vremenima tk3 , tk2 , tk1 , i zajedno sa
informacijom u vremenu tk pokusajmo dobiti bolju procjenu integrala.
Konstruirajmo Lagrangeov interpolacijski polinom
i=kj (t ti )
f (tkj , ykj )Lkj (t), Lkj (t) =
P3 (t) =
i=kj (tkj ti )
j=0
i iskoristimo ga za aproksimaciju podintegralne funkcije na [tk , tk+1 ]. Time smo
denirali metodu
yk+1 = yk +
tk+1
f (tkj , ykj )
Lkj ( )d .
j=0
|k
{z
(1.4.1)
0 =
tk
tk
1
= h
0
h
=
6
h (3 + s) h (2 + s) h (1 + s)
ds
3h2h1h
1
(s3 + 6s2 + 11s + 6)ds =
55
h;
24
1 =
tk+1
tk+1
Lk1 ( )d =
tk
tk
1
= h
0
h
=
2
h (3 + s) h (2 + s) h s
ds
2 h 1 h (1) h
1
(s3 + 5s2 + 6s)ds =
0
59
h;
24
POGLAVLJE 1. NUMERICKO
RJESAVANJE
IP ZA ODJ
2 =
tk+1
tk+1
Lk2 ( )d =
tk
tk
h (3 + s) h (1 + s) h s
ds
1 h (1) h (2) h
= h
0
h
=
2
17
37
h;
24
3 =
tk+1
tk+1
Lk3 ( )d =
tk
tk
1
= h
0
h
=
6
h (2 + s) h (1 + s) h s
ds
(1) h (2) h (3) h
1
(s3 + 3s2 + 2s)ds =
9
h.
24
Iako su gornji integrali elementarni, dali smo detalje racuna s ciljem da se uoci da u
tim formulama ima dosta strukture i da bi se u principu mogle ocekivati zatvorene
formule za racunanje koecijenata i , bez da idemo kroz sve korake kao u gornjem
primjeru. To je uistinu moguce, ali za sada necemo ulaziti u te detalje.
Algoritam 1.4.1. AdamsBashforthova eksplicitna metoda reda 4.
[y] = Adams Bashforth 4(f, y0:3 , f0:3 , t, n)
for i = 3, . . . , n 2
h
yi+1 = yi + 24
(55fi 59fi1 + 37fi2 9fi3 )
fi+1 = f (ti+1 , yi+1 )
end
h
yn = yn1 + 24
(55fn1 59fn2 + 37fn3 9fn4 )
Ako zelimo odmah dobiti osjecaj koliko je ovakva shema dobra, pogledajmo
POGLAVLJE 1. NUMERICKO
RJESAVANJE
IP ZA ODJ
18
h
{55y (tk ) 59y (tk1 ) + 37y (tk2 ) 9y (tk3 )}
24
1
1
Taylorov razvoj oko tk = hy (tk ) + h2 y (tk ) + h3 y (tk )
2
6
1 4 (4)
1 5 (5)
h
h y (tk ) +
h y (tk ) + O(h6 ) {55y (tk )
24
120
24
1
1
1
59[y (tk ) hy (tk ) + h2 y (tk ) h3 y (4) (tk ) + h4 y (5) (tk ) + O(h5 )]
2
6
24
4
2
37[y (tk ) 2hy (tk ) + 2h2 y (tk ) h3 y (4) (tk ) + h4 y (5) (tk ) + O(h5 )]
3
3
9
27
9
9[y (tk ) 3hy (tk ) + h2 y (tk ) h3 y (4) (tk ) + h4 y (5) (tk ) + O(h5 )]
2
3
8
251 5
h + O(h6 ).
720
= y(tk+1 ) y(tk )
=
+
POGLAVLJE 1. NUMERICKO
RJESAVANJE
IP ZA ODJ
19
1.4.2
AdamsMoultonove metode
i=kj (t ti )
P3 (t) =
f (tkj , ykj )Lkj (t), Lkj (t) =
i=kj (tkj ti )
j=1
3
yk+1 = yk +
j=1
tk+1
f (tkj , ykj )
Lkj ( )d .
t
|k
{z
POGLAVLJE 1. NUMERICKO
RJESAVANJE
IP ZA ODJ
1.4.3
20
Visekoracna metoda sa m koraka generira niz diskretnih vrijednosti koje, uz odgovarajucih m pocetnih vrijednosti, zadovoljavaju jednadzbe oblika
k (yk , yk+1 , . . . , yk+m ) = 0, k = k0 , k0 + 1, k0 + 2, . . . .
(1.4.2)
(k)
(k)
(k)
(k)
= 0.
m
yk+m + m1 yk+m1 + + 1 yk+1 + 0 yk = k+m , m
(1.4.3)
(k)
(k)
(k)
m
yk+m + m1 yk+m1 + + 1 yk+1 + 0 yk = 0,
(1.4.4)
(1) (1)
(1)
yk0 yk0 +1 yk0 +m1
(2)
y (2) y (2)
k0 +1 yk0 +m1
Yk0 = k.0
,
..
..
..
..
.
.
.
()
y k0
()
()
POGLAVLJE 1. NUMERICKO
RJESAVANJE
IP ZA ODJ
21
Posebno nas zanimaju fundamentalni sistemi u k = 0 linearne homogene diferencijske jednadzbe sa konstantnim koecijentima
m yk+m + m1 yk+m1 + + 1 yk+1 + 0 yk = 0, 0 = 0, m = 0.
(1.4.5)
(1.4.6)
1 1 1m1
1 2 m1
(i j ) = 0.
.. .. . .
.. jednaka
. .
.
.
i<j
1 1 1m1
Ako su neke nultocke polinoma () visestruke, sa ukupno < m medusobno
razlicitih, onda konstrukcija iz prethodne leme ne daje dovoljno rjesenja za fundamentalni sistem. Trebamo konstruirati dodatna rjesenja. Za motivaciju, neka je 1
dvostruka i zamislimo je kao rezultat kolizije u limesu dvije jednostruke 1 , 1 + ,
0. Zbog linearnosti je (u toj zamisljenoj situaciji) za svaki > 0 rjesenje dano
i formulom
1
1
d k
((1 + )k 1k ), pri cemu je lim ((1 + )k 1k ) = |=
= k1k1 .
1
0
d
Teorem 1.4.3. Neka su 1 , . . . , sve medusobno razlicite nultocke polinoma (1.4.6),
te neka je i algebarska kratnost nultocke i . Tada m nizova
{yk } = {ik }
{yk } = {kik1 }
k2
{yk } = {k(k 1)i }
i = 1, . . . ,
(1.4.7)
POGLAVLJE 1. NUMERICKO
RJESAVANJE
IP ZA ODJ
22
1.4.4
Konvergencija vi
sekora
cnih metoda
Analiziramo konvergenciju mkoracne metode na intervalu [a, b], kojeg smo podijelili na n jednakih podintervala duljine h = (b a)/n, oblika [tk , tk+1 ], tk = a + kh,
k = 0, 1, . . .. Zanima nas kako dobro izracunate vrijednosti yk aproksimiraju vrijednosti tocnog rjesenja y(tk ) kada n , tj. kada h 0. Opcenito se moze
promatrati proizvoljne podjele, ali takve da maxk (tk+1 tk ) konvergira u nulu kada
n . Takva razmatranja su tehnicki nesto kompliciranija i necemo ih provoditi.
Kod nas ce niz t0 , . . . , tn uvijek denirati ekvidistantnu subdiviziju sa konstantnim
korakom h = tk+1 tk .
Lako vidimo da pomakom indeksa svaku mkoracnu metodu iz prethodnih
sekcija mozemo zapisati u generickom obliku kao
m
j yk+j = h
j f (tk+j , yk+j ), m = 0.
j=0
(1.4.9)
j=0
Dijeljenjem (1.4.8) s m mozemo denicijsku relaciju normirati tako da bez smanjenja opcenitosti uzimamo m = 1.
Iz analize linearnih diferencijskih jednadzi u 1.4.3 znamo da mkoracna generira
vise rjesenja (rezultat zamjene diferencijalne jednadzbe prvog reda diferencijskom
mtog reda) i da ce za uspjeh visekoracne metode morati postojati mehanizam
koji ce prigusiti ta parazitska rjesenja.
POGLAVLJE 1. NUMERICKO
RJESAVANJE
IP ZA ODJ
1.4.4.1
23
Red metode
j=0
j y(t + jh) h
j=0
j y (t + jh)
(1.4.10)
j=0
j , C1 =
j=0
jj
j=1
j , i opcenito
j=0
1
1
=
j j
j 1 j , = 2, 3, . . .
! j=1
( 1)! j=1
m
POGLAVLJE 1. NUMERICKO
RJESAVANJE
IP ZA ODJ
1.4.4.2
24
Zelimo
ocijeniti globalnu pogresku ek = yk y(tk ), k = 0, . . . , n, te vidjeti sto se
dogada kada h 0. Za pocetak, slijedimo shemu koju smo primijenili kod jednokoracnih metoda. Komplikacije koje nastaju zbog slozenije strukture visekoracne
metode cemo rjesavati u hodu.
Naravno, u realnim uvjetima primjene metode ne mozemo izbjeci pogreske
konacne (strojne) aritmetike i druge aproksimacije pri racunanju vrijednosti funkcije
, rjesavanja jednadzi u implicitnim metodama itd. To znaci da za realisticnu
analizu metode, u ktom koraku (1.4.8) trebamo ukljuciti i tu dodatnu pogresku
oznacimo je s k+m .
Oduzimanjem relacija
m
j=0
m
j=0
0
1
0
0
ek
0
ek+1
..
..
..
ek+1 0
ek+2
.
.
0
.
..
.. ..
.
.
.
. = A . + . , A = ..
Id .
..
..
1
0
ek+m1
ek+m2 0
0
0
0
1
ek+m1
k
ek+m
0 1 m2 m1
| {z }
| {z } | {z }
|
{z
}
Ek+1
Ek
Ek = A E0 +
k1
j=0
Akj1 j , k = 0, . . . , n m + 1,
(1.4.12)
POGLAVLJE 1. NUMERICKO
RJESAVANJE
IP ZA ODJ
25
(1.4.13)
Tada je
Ek
Ak E0
k1
kj1
A
j
(1.4.14)
j=0
C(E0 +
k1
j );
(1.4.15)
j=0
j = j hj + j+m + j .
Sada pretpostavimo da je Lipschitzova:
(tk , yk , . . . , yk+m , h) (tk , y(tk ), . . . , y(tk+m ), h) L
yk+j y(tk+j )
j=0
i odmah zakljucimo da je j L
(1.4.16)
ej+i pa je
i=0
max i + hL
i=0:nm
ej+i + j+m
i=0
k=0:nm
k1
k1
(mEi + Ei+1 )
i=0
+ hL (m + 1)
k1
Ei + hL Ek .
i=0
k1
i=0
Ei + hL Ek )
POGLAVLJE 1. NUMERICKO
RJESAVANJE
IP ZA ODJ
26
C
(E0
1ChL
(m+1)CL
1ChL
+ n maxi i + n maxi i )
k1
Ei
i=0
k1
hEi , k = 1, . . . , n m + 1.
i=0
|vi | +
i1
hj |vj |, i = 1, . . . , r,
j=0
i1
j=0
hj
, i = 1, . . . , r.
Dakle, imamo
Ek
1.4.4.3
(m+1)CL
max(C, 1)
(nm)h
(E0 + n max i + n max i )e 1ChL
i
i
1 ChL
1
1
K(E0 + max i ) + K max i ,
i
h
h i
(m+1)CL
(b a) max(C, 1) 1Ch L (ba)
sa K =
e
.
1 Ch L
Jedna od kljucnih pretpostavki u prethodnim razmatranjima je bila da je niz potencija Ak omeden odozgor. Zapravo, iz relacije (1.4.12) se dade naslutiti da
je ta omedenost i nuzna za dobro ponasanje globalne pogreske. Zato nam je vazno
znati koji su uvjeti na samu metodu pa da niz Ak bude omeden. Sljedeca
propozicija to pitanje svodi na pitanje omedenosti potencija matrice A .
POGLAVLJE 1. NUMERICKO
RJESAVANJE
IP ZA ODJ
27
0
1
0
0
..
...
...
0
.
0
.
.
..
A = ..
..
.
1
0
0
0
0
1
0 1 m2 m1
je ujedno i njen minimalni polinom i glasi A () = m +
m1
j=0
j j .
j
j
det(I A ) = m + m1
.
Nadalje,
ako
je
p()
=
j
j=0
j=0 j polinom
stupnja < m ( = 0), pokazat cemo da je p(A ) = 0. Primijetimo da je
eT1 Aj = eTj+1 , j = 1, . . . , m 1. Dakle,
eT1 p(A ) =
j=0
j eT1 Aj = (0 , 1 , . . . , , 0, . . . , 0) = 0.
| {z }
m1
Teorem 1.4.7. Neka je A proizvoljna n n matrica. Tada je niz potencija
(Ak , k = 0, 1, 2, . . .) omeden ako i samo ako su ispunjena sljedeca dva uvjeta:
1. Spektralni radijus matrice A je najvise jedan: spr(A) 1.
2. Svaka svojstvena vrijednost za koju je || = 1 je jednostruka nultocka
minimalnog polinoma od A. (Ovo je ekvivalentno zahtjevu da u Jordanovoj
normalnoj formi od A toj svojstvenoj vrijednosti pripadaju 1 1 blokovi.)
Dokaz: Neka je A = TJT 1 dekompozicija
sa Jordanovom normalnom formom
i 1
.. ..
. . blok dimenzije ni ni . Ako je ni = 1, onda
J = i Ji , gdje je Ji =
i 1
i
je Ji = (i ).
POGLAVLJE 1. NUMERICKO
RJESAVANJE
IP ZA ODJ
28
(J )ij =
ji
.. ..
. .
, ili Ji = (i ). Ocito
T T 1
.
(1 maxni 2 |i |)n1
(1)
(2)
(3)
(4)
f (Ji ) =
(i )
1!
f (i )
()
2!
(1)
f
(i )
1!
f (i )
0
0
0
0
0
0
f (i )
() f
()
3!
4!
(2)
(3)
f
() f
()
2!
3!
(1)
(2)
f
(i ) f
()
1!
2!
(1)
f
()
f (i )
1!
0
f (i )
Sada prethodna razmatranja mozemo formalizirati i iskazati u obliku kljucnih teorema u analizi visekoracnih metoda.
Definicija 1.4.4. mkoracna metoda
m
j=0
POGLAVLJE 1. NUMERICKO
RJESAVANJE
IP ZA ODJ
29
vj wj .
j=0
k=0:n
gdje je K =
onda imamo
k=0:m1
1
1
max i + max i )
h i
h i
(b a) max(C, 1) (m+1)CL
(ba)
. Ako je metoda konsistentna reda p
e 1Ch L
1 Ch L
k=0:n
k=0:m1
1
max i ).
h i
POGLAVLJE 1. NUMERICKO
RJESAVANJE
IP ZA ODJ
30
x=a+nh
1.5
y(t) =
ci ei t vi + (t).
i=1
ci ei t vi = 0,
i=1
pri cemu svaki ei t trne u nulu brzinom ovisnom o i . Ako zelimo numericki dobiti
stacionarno rjesenje, onda numericka metoda mora u vremenu napredovati tako
daleko dok cijeli transijentni dio ne utrne. Brzina najsporije padajuce komponente
je odredena sa mini | Re(i )| sto je taj broj manji (tj. sto je neka svojstvena
vrijednost blize imaginarnoj osi) to ce trebati vise koraka metode. S druge strane,
ako je maxi | Re(i )| veliki, to nas tjera na uzimanje manjeg koraka diskretizacije
h sto je taj broj veci trebamo manji korak. Sve zajedno, u najgoroj situaciji smo
ako moramo numericki rjesavati jednadzbu na velikom intervalu i to sa jako malim
korakom.
POGLAVLJE 1. NUMERICKO
RJESAVANJE
IP ZA ODJ
31
y(t) = e y0 = V e V
y0 =
j t
j=1
(V y0 )j vj
| {z }
j
ej t j vj .
j=1
y0 =
(1 + hj )k j vj .
j=1
h
h
yk = (Id A)k (Id + A)k y0 =
2
2
j=1
d
1 + h2 j
1 h2 j
)k
j vj .
POGLAVLJE 1. NUMERICKO
RJESAVANJE
IP ZA ODJ
32
(1.5.1)
j yk+j = h
j=0
j yk+j , k = 0, 1, 2, . . .
j=0
Zahtijevamo stabilnost za svaki odabir inicijalnih vrijednosti y0 , . . . , ym1 . Aproksimacije generirane metodom zadovoljavaju linearnu diferencijsku jednadzbu
m
j=0
(j hj )yk+j = 0, k = 0, 1, 2, . . .
(1.5.2)
POGLAVLJE 1. NUMERICKO
RJESAVANJE
IP ZA ODJ
Stavimo
() =
33
j j , (; ) = () ().
j=0
(j hj ) j = () h() = (; h).
j=0
Poglavlje 2
Rubni problem za ODJ
U primjenama se cesto javljaju tzv. rubni problemi, gdje uz diferencijalnu jednadzbu koja denira funkciju na nekoj domeni imamo i zadano ponasanje rjesenja
jednadzbe na rubovima domene.
Jednostavni primjer je rubni problem za obicnu diferencijalnu jednadzbu drugog
reda
u (x) = f (x, u(x), u (x)), x [a, b] R
u(a) = , u(b) = .
Mi cemo osnovne elemente numerickog rjesavanja rubnih problema ilustrirati na
jednom specijalnom primjeru iz klase SturmLiouvilleovih rubnih problema:
y (x) + r(x)u(x) = f (x), x [a, b]
y(a) = , y(b) = .
(2.0.1)
2.1
Rje
savanje kona
cnim diferencijama
u (xi ) =
u
(x
+
h)
.
i
i
h2
12
34
(2.1.2)
35
h)
. (2.1.3)
i
i
i
i
i
h2
12
Aproksimacije ui u(xi ) cemo odrediti tako da zadovoljavaju slicne jednadzbe i
to tako da zanemarimo nepoznati O(h2 ) clan i ui deniramo (uz oznake ri = r(xi ),
fi = f (xi )) s
ui1 + 2ui ui+1
+ ri ui = fi , i = 1, . . . , n,
(2.1.4)
h2
gdje je u0 = u(a) = , un+1 = u(b) = . Vidimo da zadane rubne vrijednosti
mozemo iskoristiti u prvoj i u zadnjoj jednadzbi. Tako na primjer u prvoj, koja
glasi
u0 + 2u1 u2
+ r1 u1 = f1
h2
mozedmo iskorititi u0 = i dobiti
2u1 u2
+ r1 u1 = f1 + 2 .
2
h
h
Kada analogono modiciramo i zadnju jednadzbu, dobiveni sustav jednadzbi mozemo
zapisati u matricnom obliku kao
2+r1 h2
1
u1
f1 +/h2
2
1 2+r2 h
1
u2
f2
1 2+r3 h2 1
1
u.3 f3
(2.1.5)
. = ..
.. ..
..
.
.
.
h2
u.
.
2
1 2+rn1 h
1
1
2+rn h2
n1
un
fn1
fn +/h2
A=
2+r1 h
1
1 2+r2 h2
1
1 2+r3 h2 1
..
..
..
1 2+rn1 h2
1
1
2+rn h2
36
1 2 1
1 2 1
A =
.. .. ..
. . .
1
2 1
1 2
Specijalno je
(b a)2
.
8h2
A1 A1
+ h2
x Ax = x Ax
ri |xi |2 > 0.
i=1
A = D(I J), J =
1
2+r1 h2
1
2+r2 h2
1
2+r3 h2
1
2+r3 h2
...
...
...
1
2+rn1 h2
1
2+rn h2
2+rn1 h2
J),
D
= 2I. Odmah uocavamo da je
D = diag(2 + ri h2 )ni=1 . Slicno je A = D(I
0 1
2
D, 0 J J =
0D
0
1
2
1
2
.. .. .. .
. . .
1
1
0
1
2
1
2
zakljucujemo da je S(J)
(1, 1) pa je spr(J)
< 1. Dakle,
Kako je J = 21 (2I A),
k
red k=0 J konvergira i
1 .
0 I + J + J2 + J3 + = (I J)
k=0
37
J k konvergira i
1 .
0 I + J + J 2 + J 3 + = (I J)1 (I J)
1 imamo
Konacno, iz 0 D1 D
1 D
1 = A1 .
0 A1 = (I J)1 D1 (I J)
. Prvo se prisjetimo:
Sada izracunajmo gornju ogradu za A
S = max Sx = max
x =1
k=1:n
k=1:n
skj
|skj |.
j=1
(1)
= S ...
j=1
Odavde imamo T S 0 = T S .
Sada promotrimo problem
z (x) = 1, a < x < b
z(a) = z(b) = 0,
kojem je egzaktno rjesenje parabola z(x) = 12 (x a)(b x). Kako je z (4) (x) 0,
centralne diferencije perfektno aproksimiraju drugu derivaciju od z u cvorovima
pa je
z(x1 )
z(x1 )
1
1
1 . .
1
A .. = .. = A1 ... = 2 ...
(2.1.6)
2
h
h
z(xn )
1
1
z(xn )
Kako je
1
(b a)2
(x a)(b x) =
x[a,b] 2
8
max
zakljucujemo da je
A1
z(x1 )
(b a)2
1
= 2 ...
.
h
8h2
z(xn )
38
Teorem 2.1.2. Neka rubni problem 2.0.1 ima rjesenje u C 4 [a, b]. Neka je u =
(u1 , . . . , un ) diskretna aproksimacija rjesenja na mrezi cvorova (2.1.1), dobivena iz
(2.1.5). Tada vrijedi
|u(xi ) ui |
(b a)2 (4)
u(4) 2
h (xi a)(b xi )
u h2 .
24
96
(4)
u1 u(x1 )
u
(x
+
h)
1
1
h2
1
..
..
=
.
.
h2
12
(4)
un u(xn )
u (xn + n h)
odakle je
(4)
u1 u(x1 )
u
(x
+
h)
1
1
h4 1
..
..
= A
.
.
.
12
(4)
un u(xn )
u (xn + n h)
|u1 u(x1 )|
1
(x
a)(b
x
)
1
1
u(4) 4 1 .. u(4) 2
..
..
h A . =
h
.
.
.
12
24
|un u(xn )|
1
(xn a)(b xn )
2.1.1
Varijacijska formulacija
Promatramo problem
(p(x)u (x)) + q(x)u(x) = g(x), x [a, b]
u(a) = , u(b) =
uz pretpostavke da je
Uocimo da je
(2.1.7)
(2.1.8)
39
(2.1.9)
(2.1.10)
u(x)v(x)dx, u2 =
(u, u).
(2.1.11)
= u(x)p(x)v
b
b
(x)|a
b
=
40
|bi ai | < =
i=1
i=1
(2.1.13)
u (t)dt =
u(x) = u(a) +
a
u(x)2
u (t)dt
x
2
x
x
b
2
= 1 u (t)dt 1 dt u (t) dt (b a) u (t)2 dt
a
41
i zakljucujemo da je
b
u2
(b a)
u (t)2 dt (b a)2 u 2 .
[u, u] =
u (x)2 dx
p0
u2 .
ba
Takoder,
[u, u] p (b a)u 2 + q (b a)u2
(p (b a) + q (b a)3 )u 2
pa (2.1.14) vrijedi sa
=
p0
, = p (b a) + q (b a)3 .
ba
Odmah vidimo da ovakav pristup daje elegantne dokaze. Na primjer, ako su
y1 , y2 D(L) dva rjesenja problema (2.1.7), vrijedi L(y1 ) = L(y2 ) = f , pa je
odmah L(y1 y2 ) = 0. Iz Teorema 2.1.4 je
0 = (y1 y2 , L(y1 y2 )) y1 y2 2 0, pa je y1 = y2 .
Sada deniramo funkcional
1
F : D R, F (u) = [u, u] (f, u)
2
(2.1.15)
Teorem 2.1.5. Neka je y D(L) rjesenje rubnog problema (2.1.7). Tada za svaki
u D, u = y povlaci F (u) > F (y).
Dokaz: Uzmimo u D i racunajmo
1
1
[u, u] (L(y), u) = ([u, u] 2[y, u] + [y, y] [y, y])
2
2
1
1
=
([u y, u y] [y, y]) > [y, y] = F (y).
2
2
F (u) =
42
Gornji rezultat daje ideju da rjesenje y pokusamo dobiti minimizacijom funkcionala
F po D. Uocimo da je D D(L).
Samu minimizaciju cemo provesti aproksimativno, na sljedeci nacin: Odaberimo ndimenzionalni potprostor S D, n < , i pokusajmo izracunati
uS = arg min F (u).
uS
u
.
Na taj nacin je S Rn pa
i=1 i i
minimiziramo
n
n
n
n
1
(1 , . . . , n ) = F (
j uj ) = [
j uj ,
k uk ] (f,
k uk )
2
j=1
j=1
k=1
k=1
n
n
[uk , uj ]k j +
j=1 k=1
k (f, uk ).
k=1
Uz oznake
1
[u1 , u1 ] [u1 , un ]
(f, u1 )
.. , b = ..
..
x = ... , A = ...
.
.
.
n
[un , u1 ] [un , un ]
(f, un )
(2.1.16)
(2.1.17)
43
(x) =
(2.1.18)
tj. uS y /u y .
2.1.1.1
(2.1.19)
44
1 (4)
uS y
y h3 .
24
Dokaz: Tvrdnju dokazujemo kombinacijom Teorema 2.1.7 i Teorema 2.1.8. Ako
odaberemo spline u koji interpolira tocno rjesenje na nacin da je u(xi ) = y(xi ),
i = 0, . . . , n, i u (a) = y (a), u (b) = y (b) onda prvo uocavamo da je takav u S
pa je prema Teoremu 2.1.8
u y c1 y (4) h3 .
Sada ocjena iz Teorema 2.1.7 daje tvrdnju.
Poglavlje 3
Numeri
cko rje
savanje parcijalnih
diferencijalnih jednad
zbi
3.1
Paraboli
cke jednad
zbe
(3.1.1)
sa pocetnim uvjetom
u(x, 0) = g(x), x [0, 1],
(3.1.2)
te rubnim uvjetima
u
0 (t) (0, t) + 0 (t)u(0, t) = 0 (t)
x
u
1 (t) (1, t) + 1 (t)u(1, t) = 1 (t)
x
t 0.
(3.1.3)
POGLAVLJE 3. NUMERICKO
RJESAVANJE
PDJ
46
(j+1)
(j)
ui1
ui
(j)
ui+1
(j)
ui
3.1.1
Jednostavna diskretizacija
u(x + x, t) u(x x, t)
u(x, t) =
+ O((x)2 ),
x
2x
2
u(x x, t) 2u(x, t) + u(x + x, t)
u(x,
t)
=
+ O((x)2 )
2
2
x
(x)
u(x, t + t) u(x, t)
u(x, t) =
+ O(t).
t
t
(3.1.5)
(3.1.6)
(3.1.7)
POGLAVLJE 3. NUMERICKO
RJESAVANJE
PDJ
47
zapisujemo kao
(j+1)
(j)
(j)
ui
t
ui
(j)
(j)
(3.1.9)
(j)
(j)
(j)
(j)
(j)
2ui + ui1
ui1
ui
(j) u
(j) u
(j)
(j)
ai i+1
bi i+1
ci = fi .
2
t
(x)
2x
(j+1)
ui
(j)
Stavimo
c=
t
(c zovemo Courantov broj.)
(x)2
(3.1.10)
(3.1.11)
ui
(j)
(j)
(j)
(3.1.12)
ui u(xi , 0) = gi g(xi ), i = 0, 1, . . . , n.
(3.1.13)
(j)
1 2c
c
0
0
u1
u1
0 (tj )
(j+1)
(j)
..
0
u2 c
u2
.
1 2c c
..
..
.. =
..
..
..
. + c
.
.
.
0
0
.
(j+1)
(j)
0
un2
c 1 2c
c un2
(j+1)
(j)
1 (tj )
0
0
c
1 2c
un1
un1
|
{z
}
T
(3.1.14)
u kojoj su vrijednosti za j = 0 dane inicijalnim uvjetom (3.1.13).
POGLAVLJE 3. NUMERICKO
RJESAVANJE
PDJ
48
Neka je sada uvjet u lijevom rubu kao i ranije, u(0, t) = 0 (t), a u desnom rubu
(j)
domene neka je zadano da je x u(1, t) = 0, za t > 0. Dakle, vrijednosti un
nisu zadane pa ih kao nepoznanice moramo izracunati koristeci relaciju (3.1.12)
(j)
sa i = n. Uocavamo da tada imamo varijablu un+1 koja nije denirana. U nasoj
shemi indeksu n + 1 odgovara tocka xn+1 = xn + x 1 + x koja je izvan domene
[0, 1] i simetricno pozicionirana prema xn1 = 1x. Ako iskoristimo (3.1.5), onda
rubni uvjet u desnom rubu glasi
0=
u(1 + x, t) u(1 x, t)
u(1, t) =
+ O((x)2 )
x
2x
u(j+1)
= 2cun1 + (1 2c)u(j)
n .
n
Sve relacije zajedno glase
(j+1)
(j)
1 2c
c
0
0
u1
u1
0 (tj )
(j+1)
...
0
u2 c
u(j)
2c
c
2
..
..
.. =
..
..
..
. + c
.
.
.
0
0
.
(j+1)
(j)
0
un1
un1
c 1 2c
c
(j+1)
(j)
0
0
0
2c
1 2c
un
un
{z
}
|
T
(3.1.15)
Obadvije metode (3.1.14) i (3.1.15) mozemo genericki zapisati u obliku
u(j+1) = Au(j) + b(j) , j = 0, 1, 2, . . .
(3.1.16)
POGLAVLJE 3. NUMERICKO
RJESAVANJE
PDJ
49
da su 1 4c i 1 svojstvene vrijednosti od A. Naime, niti jedna od te dvije vrijednosti nije u (otvorenoj) unutrasnjosti niti jednog Gersgorinovog kruga. Ako bi
neka od te dvije vrijednosti bila uistinu svojstvena vrijednost od A, onda bi, zbog
toga sto je A ocito ireducibilna, ta svojstvena vrijednost morala biti na presjeku
rubova svih Gersgorinovih krugova od A a to ocito nije slucaj. Dakle, za svaku
svojstvenu vrijednost matrice A vrijedi 1 4c < < 1. Sada jos primijetimo da
je c 1/2 ekvivalentno s 1 4c 1.
Komentar 3.1.2. Dokaz prethodne propozicije pokazuje prakticnu korist, jednostavnost i eleganciju teorije Gersgorinovih krugova.
Definicija 3.1.1. Kazemo da je metoda (3.1.16) LaxRichtmyer stabilna ako za
svako zadano vrijeme t > 0 postoji konstanta (t ) sa svojstvom da za svaki
indeks j, jt t povlaci Aj (t ).
Komentar 3.1.3. U prethodnoj deniciji nismo specicirali matricnu normu. Zbog
ekvivalentnosti normi je jasno da je u danoj situaciji dovoljno odabrati neku normu
sa kojom su tehnicki detalji najjednostavniji. Primijetimo takoder da za trazenu
omedenost nije nuzno (ali je pozeljno) da bude A 1. Npr. A 1 + t
povlaci
Aj Aj (1 + t)j ejt et .
Komentar 3.1.4. Promotrimo metodu (3.1.16) i uzmimo zbog jednostavnosti b(j)
0 za sve j. tada je u(j) = Aj u(0) . Zamislimo sada malu perturbaciju inicijalnih
uvjeta, u(0) ; u(0) = u(0) + u(0) . Novo rjesenje je u(j) = Aj u(0) = u(j) + Aj u(0) .
Sada vidimo zasto nam je vazna omedenost niza potencija Aj .
Komentar 3.1.5. Valja primijetiti da uvjet omedenosti niza Aj kada t 0, x
0, primjenjujemo na sve vece potencije (j ) te da dimenzije matrica A =
A(t, x) takoder rastu u beskonacno.
3.1.1.1
Konvergencija
Naravno, da bi numericka metoda bila korisna u primjenama, mora biti konvergentna aproksimacije moraju teziti tocnom rjesenju kada t, x teze u nulu. Kako
cemo uskoro vidjeti, konvergencija moze ovisiti i o tome kojim brzinama t i x
teze u nulu.
(j)
Stavimo ui = u(xi , tj ), gdje je u(x, t) egzaktno rjesenje problema. Zanima nas
lokalna pogreska diskretizacije to je ostatak koji dobijemo kada u relaciju koja
denira metodu uvrstimo tocno rjesenje,
(j+1)
POGLAVLJE 3. NUMERICKO
RJESAVANJE
PDJ
50
1
= u(xi , tj ) + (t)t u(xi , tj ) + (t)2 tt2 u(xi , tj ) +
2
{
1
1
2
3
c u(xi , tj ) (x)x u(xi , tj ) + (x)2 xx
u(xi , tj ) (x)3 xxx
u(xi , tj )
2
6
}
1
4 4
+
(x) xxxx u(xi , tj ) (1 2c)u(xi , tj )
24
{
1
1
2
3
c u(xi , tj ) + (x)x u(xi , tj ) + (x)2 xx
u(xi , tj ) + (x)3 xxx
u(xi , tj )
2
6
}
1
4 4
2
+
(x) xxxx u(xi , tj ) + = (t)(t u(xi , tj ) xx
u(xi , tj ))
24
(t)(x)2 4
(t)2 2
+
u(xi , tj )
xxxx u(xi , tj ) +
2 tt
12
(t)2 2
(t)(x)2 4
=
tt u(xi , tj )
xxxx u(xi , tj ) +
2
12
(j)
(j)
(j)
(j)
= c
ui1 + (1 2c)
ui + c
ui+1 + i O((t)2 ) + O((x)4 ) = O((x)4 ).
(3.1.17)
Drugim rijecima, ako bismo u vremenskom koraku j metodi dali egzaktne vrijednosti rjesenja u svim cvorovima, pogreska u (j +1)vom koraku bi bila reda velicine
(t) O((x)2 ).
Uocimo da npr. u slucaju diskretizacije (3.1.14) mozemo pisati, u matricnoj notaciji, za j = 0, 1, . . .
(j)
(j+1)
ui
u
1
0 (tj )
0
(j+1)
= T u
(j)
2
+ ... + (j+1) , u(j) = . , (j+1) = . . (3.1.18)
..
..
0
(j)
(j+1)
1 (tj )
u
n1
n1
| {z }
(j)
u
2
(j+1)
r(j)
POGLAVLJE 3. NUMERICKO
RJESAVANJE
PDJ
51
x0 j=0:j
j (0)
=T e
j1
T i (ji) .
i=0
i=1:j
(t )e + j (t )t K (x)2 t (t ) K (x)2 .
(0)
3.1.2
2
u(xi1 , t) 2u(xi , t) + u(xi1 , t)
u(xi , t) =
u(xi , t)
.
2
t
x
(x)2
Za i = 0, . . . , n denirajmo funkcije yi (t) = u(xi , t), t > 0.
Rubni uvjet u(0, t) = 0 (t) odmah daje y0 (t) = u(x0 , t) = u(0, t) = 0 (t). Desni
rubni uvjet u(1, t) = 1 (t) bi dao yn (t) = 1 (t), dok bismo npr. iz rubnog uvjeta
x u(1, t) = 0 kao i ranije denirali yn+1 (t) = yn1 (t). Time smo dobili sustav
POGLAVLJE 3. NUMERICKO
RJESAVANJE
PDJ
52
tj., matricno,
2 1
0 0
y1 (t)
0 (t)
y1 (t)
..
y (t)
0
y2 (t)
.
1 2 1
2
1
1
..
..
..
.
.
.
. =
.
.. .. .. 0 . +
(x)2 .
(x)2 0
yn2 (t)
0
yn2 (t)
1 2 1
1 (t)
yn1 (t)
yn1 (t)
0
0
1 2
|
{z
}
T0
(3.1.19)
U drugom slucaju imamo
1
(2y1 (t) + 2y2 (t) + 0 (t))
(x)2
1
(yi1 (t) 2yi (t) + yi+1 (t)), i = 2, . . . , n 1
yi (t) =
(x)2
1
yn (t) =
(2yn1 (t) 2yn (t)),
(x)2
y1 (t) =
2 1
0 0
y1 (t)
y1 (t)
0 (t)
...
y (t)
0
y2 (t)
2
1 2 1
1
1
..
..
..
.
.
.
. =
.
.. .. .. 0 . +
(x)2 0
(x)2 .
yn1 (t)
yn1 (t)
0
1 2 1
yn (t)
yn (t)
0
0
0
2 2
{z
}
|
T0
(3.1.20)
POGLAVLJE 3. NUMERICKO
RJESAVANJE
PDJ
53
(3.1.21)
sa inicijalnim uvjetima yi (0) = u(xi , 0) = g(xi ) iz (3.1.2). Dobili smo jos jedan
primjer logicne teznje matematicara da problem svedu na jedan kojeg su vec naucili
rjesavati. Ako imamo dobar software za rjesavanje sustava linearnih ODJ, mozemo
ga odmah ukljuciti u ovu shemu.
Nama je cilj i vise od te ekonomicnosti zelimo dublje shvatiti problem. Sjetimo
se svih metoda, analiza i problema koji se mogu javiti kada numericki rjesavamo
ODJ. Jasno je da pri rjesavanju PDJ mozemo ocekivati samo vise samo tezih
problema.
Komentar 3.1.7. Ovdje valja uociti da sustav diferencijalnih jednadzbi ovisi o x
i to ne samo kroz mnozenje s 1/(x)2 . Kada x 0 onda dimenzija matrice M
raste zajedno sa brojem nepoznatih funkcija yi (t) tako da u analizi konvergencije
treba ocekivati vise poteskoca nego kod rjesavanja sustava ODJ.
Za pocetak, rijesimo (3.1.21) Eulerovom metodom na diskretnoj mrezi tocaka
(j)
tj = jt. Stavimo yi yi (tj ). Kako je yi (tj ) = u(xi , tj ), mozemo poistovijetiti
(j)
(j)
yi ui . Eulerova metoda glasi
u(j+1) = u(j) + t(M u(j) + b(tj )) (I + tM )u(j) + t b(tj ).
U slucaju sustava (3.1.19) imamo
2 1
0 0
0 (tj )
..
.
1 2 1
t
t
..
.
.
.
I + tM = I +
. . . . . . 0 = T, t b(tj ) =
(x)2 0
(x)2 .
0
1 2 1
1 (tj )
0
0
1 2
dok je odgovarajuca shema za (3.1.20) denirana matricom
2 1
0 0
...
1 2 1
.
.
.
I + tM = I +
0
. . . . . . 0 = T.
2
(x)
1 2 1
0
0
2 2
POGLAVLJE 3. NUMERICKO
RJESAVANJE
PDJ
54
Zakljucujemo da je pristup opisan u 3.1.1 zapravo diskretizacija u varijabli x komponirana sa rjesavanjem sustava obicnih diferencijalnih jednadzbi pomocu Eulerove
metode. To odmah inicira dvije stvari:
i) Problemi stabilnosti Eulerove metode se moraju manifestirati u metodi (3.1.16).
ii) Sustav ODJ mozemo rjesavati metodama boljim od Eulerove i tako dobiti
bolju metodu za rjesavanje polaznog problema.
3.1.2.1
CrankNicolsonova metoda
u(j+1) = u(j) +
0 (tj )
0
0 (tj+1 )
0
1 (tj )
0
1 (tj+1 )
t
1 .
1
(j+1)
(T0 u(j) +
+
.. + T0 u
2
2
(x)
(x)2
0
1+c c/2
.. ..
.
.
0
0
..
..
. 0
c/2 1+c c/2
0 c/2 1+c
1c c/2
. .
0 .. ..
0
..
..
..
.
. 0
c/2 1c c/2
0 c/2 1c
0
(j) c
..
u +
.
2
0
1 (tj )+1 (tj+1 )
(3.1.22)
kojeg kompaktno zapisujemo u matricnom obliku kao
(I
t
t
T0 )u(j+1) = (I + T0 )u(j) +
2
2
..
.
(3.1.23)
0
1 (tj )+1 (tj+1 )
Dobili smo tzv. CrankNicolsonovu metodu, koja je implicitna i svaka nova iteracija je rjesenje sustava linearnih jednadzbi. Za potrebe teorijske analize cemo
gornju relaciju zapisati i kao
u(j+1)
t
t
t
= (I T0 )1 (I + T0 )u(j) + (I T0 )1
2
2
2
..
.
(3.1.24)
0
1 (tj )+1 (tj+1 )
POGLAVLJE 3. NUMERICKO
RJESAVANJE
PDJ
55
1+
1
t
(T0 )
2
t
(T0 )
2
gdje (T0 ) redom prolazi sve svojstvene vrijednosti od T0 . S druge strane, pomocu
Gersgorinovih krugova mozemo zakljuciti da je S(T0 ) (4, 0) pa je onda sigurno
|(C)| < 1.
POGLAVLJE 3. NUMERICKO
RJESAVANJE
PDJ
3.2
56
Elipti
cke jednad
zbe
~
~ ~ ~
~
gdje je eij pogreska diskretizacije koju mozemo samo ocijeniti s O(h2 ). Zato eij
zanemarimo (cinimo pogresku diskretizacije) i, s fij = f (xi , yj ), rjesavamo sustav
POGLAVLJE 3. NUMERICKO
RJESAVANJE
PDJ
57
linearnih jednadzbi
4vij vi1,j vi+1,j vi,j1 vi,j+1 = h2 fij , i, j = 1, . . . , n
v0j = vn+1,j = vi0 = vi,n+1 = 0
(3.2.1)
(3.2.2)
cije rjesenje V = (vij )ni,j=1 aproksimira U = (uij ). Primijetimo da je prirodno vrijednosti uij , vij drzati u matrici jer to odrazava 2D strukturu. Ipak, za operativno
racunanje je koristan i genericki zapis Ax = b.
Elemente matrice V stavimo u vektor stupac po stupac, isto napravimo s F =
(fij ):
v11
.
v ..
vn1
12
( v11 v12 v1n )
..
.
.
.
.
.. .. ..
V =
7 v = vn2
vec(V )
.
vn1 vn2 vnn
..
v1n
..
.
vnn
Tn v = h2 vec(F )
gdje je
POGLAVLJE 3. NUMERICKO
RJESAVANJE
PDJ
Tn =
4
.
1
.
58
.
.
1
.
1
4
.
1
.
1
.
1
.
4
.
.
.
.
.
.
.
.
.
.
.
1
.
4
.
..
..
1
..
.
..
.
.
..
.
..
..
.
.
.
1
..
..
.
1
..
..
.
1
(3.2.3)
1
4
Par komentara:
4 1
..
1 4 . = Tn + 2In
.. ..
. . 1
1 4
.
.
. . . .
A=
... ...
POGLAVLJE 3. NUMERICKO
RJESAVANJE
PDJ
59
ji
2
vji =
sin
, j = 1, . . . , n.
n+1
n+1
i = + 2 cos
(3.2.4)
(Ovdje vji oznacava jtu komponentu od vi .) Sve TST matrice medusobno komutiraju.
Korolar 3.2.2. Svojstvene vrijednosti matrice Tn su
i
), i = 1, . . . , n,
n+1
a pripadni svojstveni vektori su dani formulama (3.2.4).
i = 2(1 cos
POGLAVLJE 3. NUMERICKO
RJESAVANJE
PDJ
Korolar 3.2.5. Svojstvene vrijednosti matrice Tn = In Tn + Tn In su
i
j
+ cos
)
n+1
n+1
i
j
= 4(sin2
+ sin2
), i, j = 1, . . . , n,
2(n + 1)
2(n + 1)
ij = 4 2(cos
3.3
Hiperboli
cke jednad
zbe
60
Dio II
Aproksimacija funkcija
61
62
3.4
3.4.1
Trigonometrijska interpolacija
(x) =
(3.4.2)
(3.4.3)
.
..
1
2
1
2
cos 0
cos 1
cos 2
cos 3
sin 0
sin 1
sin 2
sin 3
cos 20
cos 21
cos 22
cos 23
sin 20
sin 21
sin 22
sin 23
cos(m1)0
cos(m1)1
cos(m1)2
cos(m1)3
sin(m1)0
sin(m1)1
sin(m1)2
sin(m1)3
cos m0
cos m1
cos m2
cos m3
..
.
..
.
..
.
..
.
..
.
..
.
..
.
..
.
cos n2 sin n2 cos 2n2 sin 2n2 cos(m1)n2 sin(m1)n2 cos mn2
cos n1 sin n1 cos 2n1 sin 2n1 cos(m1)n1 sin(m1)n1 cos mn1
a0 f0
f1
ab11
f2
a2
b2 f3
. = f4
. .
. ..
am1
f
bm1
am
n2
fn1
(3.4.4)
63
cije rjesenje bi trebalo dati nepoznate koecijente. Analogno dobijemo u slucaju
n = 2m + 1:
1
a0
cos 0
sin 0
cos 20
sin 20 cos m0
sin m0
f0
2
a1
1
12 cos 1 sin 1 cos 21 sin 21 cos m1 sin m1 ab1 f1
2 cos 2 sin 2 cos 22 sin 22 cos m2 sin m2 2 f2
1
b2 f3
2 cos 3 sin 3 cos 23 sin 23 cos m3 sin m3
(3.4.5)
.. = f4 .
.
a . ..
..
..
..
..
..
..
..
..
.
.
.
.
.
.
. b m1 .
1
m1
f
2
1
2
cos n2 sin n2 cos 2n2 sin 2n2 cos mn2 sin mn2
cos n1 sin n1 cos 2n1 sin 2n1 cos mn1 sin mn1
am
bm
n2
fn1
n1
n1
0, za j Z
n
cos jk =
sin jk = 0 za sve j Z.
;
j
n, za Z
k=0
k=0
n
j+
j
0, za
Z i
Z
n
n
n1
n
j+
j
cos jk cos k =
za ili
Z ili
Z
2
n
n
k=0
n za j + Z i j Z
n
n
j+
j
j+
j
0 za
Z i
Z ili
Zi
Z
n
n
n
n
n1
n
j+
j
sin jk sin k =
Zi
Z
za
2
n
n
k=0
n za j + Z i j Z
2
n
n
n1
k=0
64
Dokaz : Lako izracunamo
{
n1
n1
n1
j
n, j/n Z
ik j
i2 n
k
(cos jk + i sin jk ) =
(e ) =
(e
) =
.
0, j/n
Z
k=0
k=0
k=0
Time su dokazane prve dvije formule. Za preostale koristimo dobro poznate formule
1
cos j cos =
(cos(j + ) + cos(j ))
2
1
sin j sin =
(cos(j ) cos(j + ))
2
1
cos j sin =
(sin(j + ) sin(j )).
2
Korolar 3.4.2. Koeficijenti interpolacije su dani formulama:
Za n = 2m + 1:
2
2jk
2
2
fk cos jxk
fk cos
=
, j = 0, . . . , m,
n k=0
T
n k=0
n
(3.4.6)
2
2jk
2
2
fk sin jxk
fk sin
=
=
, j = 1, . . . , m.
n k=0
T
n k=0
n
(3.4.7)
n1
aj =
n1
bj
n1
n1
(3.4.8)
Za n = 2m:
2
2
2jk
2
=
fk cos jxk
fk cos
=
, j = 0, . . . , m 1, (3.4.9)
n k=0
T
n k=0
n
n1
aj
2
2jk
1
1
=
fk cos jxk
=
fk cos
,
n k=0
T
n k=0
n
n1
am
n1
2
2
2
2jk
fk sin jxk
=
fk sin
, j = 1, . . . , m.
n k=0
T
n k=0
n
n1
bj =
n1
(3.4.10)
n1
(3.4.11)
(3.4.12)
65
pa racunanje koecijenata pomocu inverza A1 = D2 AT daje navedene formule.
3.4.2
Ra
cunanje kompleksnom aritmetikom
Najelegantniji racun koecijenata aj , bj se dobije prelaskom na kompleksnu aritmetiku. Naime, i sa sinusnim i sa kosinusnim clanovima mozemo racunati istovremeno ako iskoristimo vezu sa eksponencijalnom funkcijom,
cos =
ei + ei
ei ei
, sin =
,
2
2i
m
c0 = a0 /2,
ijx2/T
cj = (aj ibj )/2, j = 1, . . . , m,
=
cj e
, gdje je
j=m
cj = (aj + ibj )/2, j = 1, . . . , m.
m
cj e
ijxk 2/T
j=0
cj ei(nj)xk 2/T , k = 0, 1, . . . , n 1.
(3.4.14)
j=1
n1
j=0
j (eixk 2/L )j
n1
j=0
j (eik2/n )j
n1
j kj = fk , k = 0, 1, . . . , n 1.
j=0
(3.4.15)
66
gdje je = ei2/n i koecijenti j su denirani s:
{
cj ,
j = 0, 1, . . . , m
za n = 2m + 1 : j =
c(nj) j = m + 1, . . . , n 1
j = 0, 1, . . . , m 1
cj
am
j=m
za n = 2m : j =
c(nj) j = m + 1, . . . , n 1
(3.4.16)
(3.4.17)
Gornje relacije lako invertiramo, tj. iz danih koecijenata j lako izracunamo sve
aj i bj :
{
a0 = 20 aj = j + nj
j = 1, . . . , m
za n = 2m + 1 :
(3.4.18)
bj = i(j nj ) j = 1, . . . , m
am = m
a0 = 20
a
=
j
= 1, . . . , m 1
za n = 2m :
(3.4.19)
j
j
nj
bj = i(j nj ) j = 1, . . . , m 1
Primijetimo da je (3.4.15) zapravo sustav linearnih jednadzbi kojeg matricno
pisemo kao = f :
1
1
1
1
1
0
f0
1
1 f1
n2
n1
4
2(n2)
2(n1)
1 2
f2
..
.. = .. .
..
..
..
..
..
.
. .
.
.
.
.
.
2
1 n2 2(n2)
(n2)
(n2)(n1) n2 fn2
2
n1
fn1
1 n1 2(n1) (n1)(n2)
(n1)
{z
} | {z } | {z }
|
(3.4.20)
n1
ix2/T
j
Takoder uocimo polinom u varijabli = e
, () =
s
j=0 j , te da na
problem mozemo interpretirati kao polinomijalnu interpolaciju (k ) = fk sa k =
eixk 2/T , k = 0, . . . , n 1.
Propozicija 3.4.3. Za matricu iz (3.4.20) vrijedi = = nIn . Specijalno
1
je 1 = .
n
Dokaz : Iz kj = kj slijedi da je simetricna matrica, pa je = T = .
Nadalje,
n1
(lk)n 1
=0
( )k =
(k)j = k
1
j=0
67
Korolar 3.4.4. Koeficijenti k su dani relacijom (k )n1
k=0 =
1
(fk )n1
k=0 , tj.
n
1
k =
fj eijk2/n , k = 0, 1, . . . , n 1.
n j=0
n1
1
f ,
n
n1
j eijk2/n , k = 0, 1, . . . , n 1.
j=0
68
1.5
0.5
0.5
1.5
Bibliografija
69