9 Persamaan Differensial Biasa

Download Report

Transcript 9 Persamaan Differensial Biasa

8. Persamaan Differensial Biasa
(PDB)
Euler, Heun, Runge Kutta 1-4
1
Pendahuluan


Persamaan Differensial :
gabungan dari fungsi yang tidak diketahui dengan turunannya.
Kategori Persamaan Differensial :
–
PD Biasa :
Persamaan Differensial yang hanya memiliki satu variabel bebas.
Berdasarkan turunan tertinggi yang dimiliki, PDB dikategorikan
menjadi :




–
2
PDB Orde 1 : turunan tertingginya adalah turunan pertama
PDB Orde 2 : turunan kedua merupakan turunan tertinggi
PDB Orde 3 : turunan ketiga merupakan turunan tertingginya.
Dan seterusnya
PD Parsial
Persamaan Differensial yang memiliki lebih dari satu variabel
bebas.
Pendahuluan Cont.
Contoh Persamaan :
dy
dx
 x y
Turunan dilambangkan dengan : dy/dx atau f’(x) atau y’,
sedangkan fungsi yang tidak diketahui dilambangkan
dengan keberadaan variabel terikatnya.
seperti contoh di atas, maka :
Turunan dilambangkan dengan dy/dx dan fungsi yang tidak
diketahui diwakili dengan variabel y.
3
Pendahuluan Cont.
Kategorikan : (PD / bukan PD / PDP / PDB ?)
1.
2.
y'  x 2  y 2
 2u  2u

 6 xyex  y
2
2
x
y
3.
y'  3t 3  t 5  17; y  f (t )
4.
y' ' y' Cos( x)  3 y  Sin(2 x)
5. 2 y' ' '2 y'  1  y' '
6.
4
f ' ( x)  x 2  x  4
2
2

u

u

u
2
7.
 3Sin( x  t )  2  (1  x ) 2
t
x
y
8. 2 dy  x 2 y  y  0
dx
PDB orde 1
PDP
Bukan PD
PDB orde 2
PDB orde 3
Bukan PD
PDP
PDB orde 1
Pendahuluan (Cont.)

Solusi PDB :
–
–


5
solusi analitik : salah satunya dengan teknik integral
solusi numerik : menggunakan metode hampiran.
Solusi Numerik :
mencari nilai fungsi di xr+1, dimana r menunjukkan
jumlah langkah atau iterasi.
Langkah/iterasi memiliki jarak yang sama (h)
xr = x0 +rh; r = 0,1,2,…,n
PDB Orde Satu

Bentuk baku PDB orde satu :
dy
dx

 f ' ( x)  y'  f ( x, y)
Contoh :
2 y ' xy  100; y (0)  1  y ' 
 xy  2 y

 y ' y; y (1)  1  y '   xy  2 y
Metode penyelesaian :
–
–
–
6
x
100 xy
2
Euler
Heun
Runge Kutta
x
y
Metode Euler

Bentuk baku :
dy
 f ' ( x)  y'  f ( x, y); y( x0 )  y0
dx
yr  y( xr )
xr  x0  rh

Penurunan
–
Deret Taylor : uraikan y(xr+1) disekitar xr
( xr 1  xr )
( xr 1  xr ) 2
y ( xr 1 )  y ( xr ) 
y ' ( xr ) 
y ' ' ( xr )  ...
1!
2!
–
Dipotong sampai orde 3 :
( xr 1  xr )
( xr 1  xr ) 2
y ( xr 1 )  y( xr ) 
y' ( xr ) 
y' ' (t );x r  t  xr 1
1!
2!
–
Karena y’(xr) = f(xr,yr) dan xr+1-xr = h, maka :
y( xr 1 )  y( xr )  hf ( xr , yr )  O(h2 ); r  0,1,2,...,n
7
Metode Euler (Cont.)


8
Penurunan secara geometris :
f(x,y) adalah persamaan differensial yang dapat
digambarkan sebagai gradien garis singgung di titik
(x,y).
Garis singgung ditarik menyinggung titik (x0,y0) untuk
menemukan nilai y(x1), pada titik (x1,y1) ditarik lagi
garis yang menyinggung titik tersebut dengan fungsi
f(x,y) untuk mendapatkan f(x2) dan seterusnya.
Metode Euler (Cont.)
8
(x7,y7)
(x8,y8)
7
(x2,y2)
6
(x1,y1)
(x6,y6)
(x3,y3)
5
(x4,y4)
(x5,y5)
y(x)
4
dy/dx
3
2
1
0
(x0,y0)
0
9
0.5
1
1.5
2
2.5
3
3.5
4
Metode Euler (Cont.)
7
C
6
Yr+1
hampiran
5
Yr+1
sejati
y(x)
3
yr
2
Yr
sejati
galat
4
A
B
1
0
0
h
0.5
m  y ' ( xr )  f ( xr , yr ) 
hf ( xr , yr )  yr 1  yr
10
yr 1  yr  hf ( xr , yr )
1
y BC yr 1  yr


x AB
h
Metode Euler (Cont.)

Galat
–
–
Galat Pemotongan
1
Ep  h 2 y ' ' (t )  O(h 2 )
2
sebanding dengan kuadrat ukuran langkah
Galat Kumulatif
1 2
nh2
(b  a) 2
(b  a)hy' ' (t )
  h y' ' (t ) 
y' ' ( y) 
h y' ' (t ) 
 O(h)
2
2
2
h
2
r 1
n
Ekumulatif
11
Metode Euler (Cont.)

1.
Contoh Soal :
dy/dx =x + y ; y(0) = 0
Berapa y(0.1) dengan langkah h = 0.02 dan h = 0.05
jika diketahui fungsi asli adalah y(x) = ex-x-1, langkah mana yang lebih teliti ?
h = 0.05
x=0
y(0) = 0
x = 0.05
y(0.05) = 0 + 0.05(0+0) = 0
x = 0.1
y(0.1) = 0 + 0.05(0.05+0) = 0.0025
h = 0.02
12
x=0
y(0) = 0
y(0.1) = e0.1-0.1-1 =
x = 0.02
y(0.02) = 0 + 0.02(0+0) = 0
0.00517091807564762
x = 0.04
y(0.04) = 0 + 0.02(0.02+0) = 0.0004
Langkah h = 0.02 lebih teliti
x = 0.06
y(0.06) = 0.004 +0.02(0.04+0.004) = 0.001208
x = 0.08
y(0.08) = 0.001208 +0.02(0.06+0.001208) = 0.00243216
x=1
y(0.1) = 0.00243216 + 0.02(0.08+0.00243216) = 0.0040808032
Metode Heun



13
Merupakan perbaikan metode Euler.
Solusi Euler dijadikan solusi perkiraan awal
dan diperbaiki dengan metode Heun.
Perbaikan gradien yang digunakan
merupakan rata-rata gradien dari 2 titik yang
ada.
Metode Heun (Cont.)



Dari satu titik awal (xr,yr), iterasi dan
gradien didapatkan perkiraan nilai
y(xr+1) selanjutnya (xr+1,yr+1)
beserta gradiennya.
Dari dua gradien yang ada dicari
rata-ratanya kemudian digunakan
untuk menghitung kembali nilai
y(xr+1).
Misal :
–
–
–
14
Awal iterasi dimiliki (x0,y0) dan
f(x0,y0)
Kemudian digunakan untuk
menghitung y(x1) dan didapatkan
f(x1,y1)
Hitung kembali y(x1) dengan gradien
(f(x0,y0)+f(x1,y1)/2
( xr , yr ); f ( xr , yr )
yr01  yr  hf ( xr , yr )
( xr 1 , yr01 ); f ( xr 1 , yr01 )
1
( f ( xr , yr )  f ( xr 1 , yr01 ))
2
yr 1  yr  h f ( xr , yr )
f ( xr , y r ) 
Metode Heun (Cont.)

Secara geometris :
7
f(xr,yr)
6
f(xr+1,yr+1)
(xr+1,yr+1)
5
frat(xr,yr)
y(x)
4
yr_euler
3
2
yr_heun
(xr,yr)
1
0
0
15
0.5
1
Metode Runge Kutta

Bentuk umum Runge Kutta Orde n:
yr+1 = yr + a1k1 + a2k2 + … + ankn
Dengan a1,a2,a3, …,an adalah konstanta
k1 = hf(xr,yr)
k2 = h(f(xr+p1h, yr+q11k1)
k3 = h(f(xr+p2h,yr+q21k1+q22k2)
k4 = h(f(xr+p3h,yr+q31k1+q32k2+q33k3)
…
kn = h(xr+pn-1h,yr+qn-1,1k1+qn-1,2+…+qn-1,n-1kn-1)

Galat
–
–
16
Per langkah Runge Kuta orde –n : O(hn+1)
Kumulatif orde-n :O(hn)
Metode Runge Kutta (Cont. )

Orde 1
k1 = hf(xr,yr)
yr+1 = yr + a1k1 ; a1 = 1
yr+1 = yr + hf(xr,yr)  Rumus Euler
Galat :
Per langkah : O(h2)
Kumulatif : O(h)
17
Metode Runge Kutta (Cont. )

Orde 2
k1 = hf(xr,yr)
k2 = h(f(xr+p1h, yr+q11k1)
yr+1 = yr + a1k1 + a2k2
Dengan penurunan rumus yang sudah ada didapatkan :
a1 = 1-a2 = 1-t
p1 = 1/(2a2) = 1/(2t)
q11 = 1/(2a2) = 1/(2t)
Artinya ada tak berhingga formula orde dua.
Dengan a1=a2 = ½, p1 = 1
yr+1 = yr + ½ (k1 + k2)  Metode Heun
18
Metode Runge Kutta (Cont. )

19
Orde 3
k1 = hf(xr,yr)
k2 = h(f(xr+p1h, yr+q11k1)
k3 = h(f(xr+p2h,yr+q21k1+q22k2)
yr+1 = yr + a1k1 + a2k2 + a3k3
dengan menggunakan penurunan rumus yang ada didapatkan :
k1 = hf(xr,yr)
k2 = h(f(xr+1/2 h, yr+1/2 k1)
k3 = h(f(xr+h,yr-k1+2k2)
yr+1 = yr + 1/6( k1 + 4k2 + k3)
Metode Runge Kutta (Cont. )

20
Orde 4
k1 = hf(xr,yr)
k2 = h(f(xr+p1h, yr+q11k1)
k3 = h(f(xr+p2h,yr+q21k1+q22k2)
k4 = h(f(xr+p3h,yr+q31k1+q32k2+q33k3)
yr+1 = yr + a1k1 + a2k2 + a3k3 + a4k4
dengan menggunakan penurunan rumus yang ada didapatkan :
k1 = hf(xr,yr)
k2 = h(f(xr+1/2 h, yr+1/2 k1)
k3 = h(f(xr+1/2h,yr+2k2)
k4 = h(f(xr+h,yr+k3)
yr+1 = yr + 1/6( k1 + 2k2 + 2k3 + k4)