You are on page 1of 24

Iterativne metode - vjebe

5. Numericke metode za ODJ

Zvonimir Bujanovic

Prirodoslovno-matematicki fakultet - Matematicki odjel

21. studenog 2010.


Sadraj

1 Eulerove metode (forward i backward). Trapezna metoda.


Runge-Kutta.

5. Numericke metode za ODJ Eulerove metode (forward i backward). Trapezna metoda. Runge-Kutta. -
Forward Euler

Forward Euler metoda.

yj +1 = yj + h f (tj , yj )

Eksplicitna, uvjetno stabilna, reda konvergencije 1.

5. Numericke metode za ODJ Eulerove metode (forward i backward). Trapezna metoda. Runge-Kutta. -
Zadatak 5.1

Zadatak
Forward Euler metodom rijeite dif. jednadbe
dy
(a) dt
= 10y (1 y ), 0 t 1
y (0) = 0.01
dy
(b) dt
= 15y , 0 t 1
y ( 0) = 1
Usporedite sa egzaktnim rjeenjem, za razlicite brojeve podintervala
M. Takoder, nacrtajte log-log grafove pogreke

max | yegz (tj ) yj |


j

o ovisnosti o M.

5. Numericke metode za ODJ Eulerove metode (forward i backward). Trapezna metoda. Runge-Kutta. -
Zadatak 5.1

Rjeenje. (a)

5. Numericke metode za ODJ Eulerove metode (forward i backward). Trapezna metoda. Runge-Kutta. -
Zadatak 5.1
Rjeenje. (a)

5. Numericke metode za ODJ Eulerove metode (forward i backward). Trapezna metoda. Runge-Kutta. -
Zadatak 5.1

Rjeenje. (b)

5. Numericke metode za ODJ Eulerove metode (forward i backward). Trapezna metoda. Runge-Kutta. -
Zadatak 5.1

Rjeenje. (b)

5. Numericke metode za ODJ Eulerove metode (forward i backward). Trapezna metoda. Runge-Kutta. -
Zadatak 5.1

Rjeenje. (b)

5. Numericke metode za ODJ Eulerove metode (forward i backward). Trapezna metoda. Runge-Kutta. -
Zadatak 5.1
Rjeenje. (a)

5. Numericke metode za ODJ Eulerove metode (forward i backward). Trapezna metoda. Runge-Kutta. -
Backward Euler. Trapezna metoda.

Backward Euler metoda.

yj +1 = yj + h f (tj +1 , yj +1 )

Implicitna, stabilna, reda konvergencije 1.

Trapezna metoda.

h
yj +1 = yj + (f (tj , yj ) + f (tj +1 , yj +1 ))
2
Implicitna, stabilna, reda konvergencije 2.

5. Numericke metode za ODJ Eulerove metode (forward i backward). Trapezna metoda. Runge-Kutta. -
Zadatak 5.2

Zadatak
Rijeite prethodni zadatak i pomocu backward Euler i trapezne
metode. Usporedite rjeenja s forward Eulerom.

5. Numericke metode za ODJ Eulerove metode (forward i backward). Trapezna metoda. Runge-Kutta. -
Zadatak 5.2

Rjeenje. (b) Stabilnost (M=4)

5. Numericke metode za ODJ Eulerove metode (forward i backward). Trapezna metoda. Runge-Kutta. -
Heunova RK2 metoda.

Heunova RK2 metoda.


h h
yj +1 = yj + k1 + k2
2 2
k1 = f (tj , yj )
k2 = f (tj + h, yj + h k1 )

Eksplicitna, uvjetno stabilna, reda konvergencije 2.

5. Numericke metode za ODJ Eulerove metode (forward i backward). Trapezna metoda. Runge-Kutta. -
Heunova RK2 metoda.

Izvod: traimo a, b, , takve da metoda

yj +1 = yj + h (af (tj , yj ) + bf (tj + h, yj + hf (tj , yj ))) (1)

bude reda 2.

Neka je y egzaktno rjeenje; Taylor:

h2
y (tj +1 ) = y (tj + h) = y (tj ) + h y 0 (tj ) + y 00 (tj ) + O(h3 )
2

5. Numericke metode za ODJ Eulerove metode (forward i backward). Trapezna metoda. Runge-Kutta. -
Heunova RK2 metoda.

Uoci: y 0 (tj ) = f (tj , y (tj )), pa

y 00 (tj ) = 1 f (tj , y (tj )) + 2 f (tj , y (tj )) y 0 (tj )


= 1 f (tj , y (tj )) + 2 f (tj , y (tj )) f (tj , y (tj ))

Oznaka: yje = y (tj ); vratimo nazad u Taylora:

yje+1 = yje (2)


+h f (tj , yje )
2
h
+ (1 f (tj , yje ) + 2 f (tj , yje ) f (tj , yje ))
2
+O(h3 )

5. Numericke metode za ODJ Eulerove metode (forward i backward). Trapezna metoda. Runge-Kutta. -
Heunova RK2 metoda.

Sad u Taylorov red razvijemo

f (tj + h, yj + hf (tj , yj ))
= f (tj , yj ) + [ h hf (tj , yj )] f (tj , yj ) + O(h2 )
= f (tj , yj ) + h 1 f (tj , yj ) + hf (tj , yj ) 2 f (tj , yj ) + O(h2 )

Uvrstimo u (1):

yj +1 = yj (3)
+h (af (tj , yj ) + bf (tj , yj ))
+h2 (b 1 f (tj , yj ) + b f (tj , yj ) 2 f (tj , yj ))
+O(h3 )

5. Numericke metode za ODJ Eulerove metode (forward i backward). Trapezna metoda. Runge-Kutta. -
Heunova RK2 metoda.

Oduzmemo (3) i (2).


elimo da se pokrate clanovi uz h i h2 , pa dobivamo ove uvjete:

a+b = 1
1
b =
2
1
b =
2

Heunovu metodu dobijemo tako da stavimo

1
a=b= , = = 1.
2

5. Numericke metode za ODJ Eulerove metode (forward i backward). Trapezna metoda. Runge-Kutta. -
Klasicna RK4 metoda.

Klasicna RK4 metoda.


h
yj +1 = yj + (k1 + 2k2 + 2k3 + k4 )
6
k1 = f (tj , yj )
h h
k2 = f (tj + , yj + k1 )
2 2
h h
k3 = f (tj + , yj + k2 )
2 2
k4 = f (tj + h, yj + h k3 )

Eksplicitna, uvjetno stabilna, reda konvergencije 4.

5. Numericke metode za ODJ Eulerove metode (forward i backward). Trapezna metoda. Runge-Kutta. -
Zadatak 5.3

Zadatak
Rijeite prethodni zadatak i pomocu Heunove i klasicne RK4 metode.
Usporedite rjeenja svih metoda.

5. Numericke metode za ODJ Eulerove metode (forward i backward). Trapezna metoda. Runge-Kutta. -
Zadatak 5.3

Rjeenje. (a) M = 12

5. Numericke metode za ODJ Eulerove metode (forward i backward). Trapezna metoda. Runge-Kutta. -
Zadatak 5.3
egz
Rjeenje. (a) maxj | yj yj |, za M = 10 . . . 1000

5. Numericke metode za ODJ Eulerove metode (forward i backward). Trapezna metoda. Runge-Kutta. -
Zadatak 5.3

Rjeenje. (b) M = 12

5. Numericke metode za ODJ Eulerove metode (forward i backward). Trapezna metoda. Runge-Kutta. -
Zadatak 5.3
egz
Rjeenje. (b) maxj | yj yj |, za M = 10 . . . 1000

5. Numericke metode za ODJ Eulerove metode (forward i backward). Trapezna metoda. Runge-Kutta. -

You might also like