Iterativne metode - vježbe 5. Numeričke metode za ODJ Zvonimir Bujanović Prirodoslovno-matematički fakultet - Matematički odjel 21. studenog 2010.
Sadržaj 1 Eulerove metode (forward i backward). Trapezna metoda. Runge-Kutta.
Forward Euler Forward Euler metoda. y j+1 = y j + h f(t j,y j ) Eksplicitna, uvjetno stabilna, reda konvergencije 1.
Zadatak 5.1 Zadatak Forward Euler metodom riješite dif. jednadžbe (a) (b) dy dt = 10y(1 y), 0 t 1 y(0) = 0.01 dy dt = 15y, 0 t 1 y(0) = 1 Usporedite sa egzaktnim rješenjem, za različite brojeve podintervala M. Tako der, nacrtajte log-log grafove pogreške o ovisnosti o M. max y egz (t j ) y j j
Zadatak 5.1 Rješenje. (a)
Zadatak 5.1 Rješenje. (a)
Zadatak 5.1 Rješenje. (b)
Zadatak 5.1 Rješenje. (b)
Zadatak 5.1 Rješenje. (b)
Zadatak 5.1 Rješenje. (a)
Backward Euler. Trapezna metoda. Backward Euler metoda. y j+1 = y j + h f(t j+1,y j+1 ) Implicitna, stabilna, reda konvergencije 1. Trapezna metoda. y j+1 = y j + h 2 (f(t j,y j ) + f(t j+1,y j+1 )) Implicitna, stabilna, reda konvergencije 2.
Zadatak 5.2 Zadatak Riješite prethodni zadatak i pomoću backward Euler i trapezne metode. Usporedite rješenja s forward Eulerom.
Zadatak 5.2 Rješenje. (b) Stabilnost (M=4)
Heunova RK2 metoda. Heunova RK2 metoda. y j+1 = y j + h 2 k 1 + h 2 k 2 k 1 = f(t j,y j ) k 2 = f(t j + h,y j + h k 1 ) Eksplicitna, uvjetno stabilna, reda konvergencije 2.
Heunova RK2 metoda. Izvod: tražimo a,b,α,β takve da metoda bude reda 2. y j+1 = y j + h (af(t j,y j ) + bf(t j + αh,y j + β hf(t j,y j ))) (1) Neka je y egzaktno rješenje; Taylor: y(t j+1 ) = y(t j + h) = y(t j ) + h y (t j ) + h2 2 y (t j ) + O(h 3 )
Heunova RK2 metoda. Uoči: y (t j ) = f(t j,y(t j )), pa y (t j ) = 1 f(t j,y(t j )) + 2 f(t j,y(t j )) y (t j ) = 1 f(t j,y(t j )) + 2 f(t j,y(t j )) f(t j,y(t j )) Oznaka: y e j = y(t j ); vratimo nazad u Taylora: y e j+1 = y e j +h f(t j,y e j ) + h2 2 ( 1f(t j,y e j ) + 2 f(t j,y e j ) f(t j,y e j )) +O(h 3 ) (2)
Heunova RK2 metoda. Sad u Taylorov red razvijemo f(t j + αh,y j + β hf(t j,y j )) = f(t j,y j ) + [αh β hf(t j,y j )] f(t j,y j ) + O(h 2 ) = f(t j,y j ) + αh 1 f(t j,y j ) + β hf(t j,y j ) 2 f(t j,y j ) + O(h 2 ) Uvrstimo u (1): y j+1 = y j +h (af(t j,y j ) + bf(t j,y j )) +h 2 (bα 1 f(t j,y j ) + bβ f(t j,y j ) 2 f(t j,y j )) +O(h 3 ) (3)
Heunova RK2 metoda. Oduzmemo (3) i (2). Želimo da se pokrate članovi uz h i h 2, pa dobivamo ove uvjete: a + b = 1 bα = 1 2 bβ = 1 2 Heunovu metodu dobijemo tako da stavimo a = b = 1 2, α = β = 1.
Klasična RK4 metoda. Klasična RK4 metoda. y j+1 = y j + h 6 (k 1 + 2k 2 + 2k 3 + k 4 ) k 1 = f(t j,y j ) k 2 = f(t j + h 2,y j + h 2 k 1) k 3 = f(t j + h 2,y j + h 2 k 2) k 4 = f(t j + h,y j + h k 3 ) Eksplicitna, uvjetno stabilna, reda konvergencije 4.
Zadatak 5.3 Zadatak Riješite prethodni zadatak i pomoću Heunove i klasične RK4 metode. Usporedite rješenja svih metoda.
Zadatak 5.3 Rješenje. (a) M = 12
Zadatak 5.3 Rješenje. (a) max j y egz j y j, za M = 10...1000
Zadatak 5.3 Rješenje. (b) M = 12
Zadatak 5.3 Rješenje. (b) max j y egz j y j, za M = 10...1000