Solusi Persamaan Diferensial Biasa (Bagian 2)
Solusi Persamaan Diferensial Biasa (Bag. 2)
Bahan Kuliah IF4058 Topik Khusus Informatika I Oleh; Rinaldi Munir (IF-STEI ITB)
IF4058 Topik Khusus Informatika I: Metode
Metode Predictor-Corrector
- Metode Heun adalah salah satu metode predictor- corrector (P-C)satu-langkah (one-step).
- Metode satu-langkah (one-step): untuk menaksir nilai y(x ) dibutuhkan satu buah taksiran nilai
r+1 r+1 sebelumnya, y(x ). r
• Terdapat metode P-C yang multi-langkah (multi-step).
- Metode banyak-langkah (multi-step): perkiraan nilai y(x ) membutuhkan beberapa taksiran nilai
r+1 sebelumnya, y(x ), y(x ), y(x ), ... . r r-1 r-2
IF4058 Topik Khusus Informatika I: Metode
- Metode P-C multi-langkah: predictor : Menaksir y
r+1 dari y r
, y r-1
, y r-2 ,... corrector : Memperbaiki nilai y r+1 dari predictor
- Metode P-C yang banyak ditulis dalam literatur dan kita bahas di sini adalah: 1. Metode Adams-Bashforth-Moulton.
2. Metode Milne-Simpson
3. Metode Hamming
IF4058 Topik Khusus Informatika I: Metode
Metode Adams-Bashforth-Moulton
- h
- = y / ( -9f + 37 f -59 f + 55 f )
- predictor : y r+1 r 24 r-3 r-2 r-1 r
- h
- = y / ( f - 5 f + 19 f + 9f )
- corrector : y
24 r+1 r r-2 r-1 r r+1
• Galat per langkah metode Adams-Bashforth-Moulton
5 adalah dalam orde O(h adalah dalam orde O(h ), yaitu: ), yaitu:
5
251 5 (5) ≈ = Y - y* / (t) , x < t < x predictor : E h y
720 p r+1 r+1 r-3 r+1
- 19 5 (5)
≈ = Y - y / (t) , x < t < x corrector : E h y
720 p r+1 r+1 r-3 r+1
4 ). Karena itu, metode
- Galat longgokan adalah dalam orde O(h Adams-Bashforth-Moulton di atas dinamakan juga metode Adams-Bashforth-Moulton orde-4
IF4058 Topik Khusus Informatika I: Metode
Metode Milne-Simpson
4h/ + = y (2f - f + 2f )
- predictor : y* r+1 r-3 3 r-2 r-1 r
h = y / ( f + + 4 f + f )
- corrector : y r+1 r-1 3 r-1 r r+1
5 ), yaitu: ), yaitu:
5
- Galat per langkahnya adalah dalam orde O(h • Galat per langkahnya adalah dalam orde O(h
5
28 h(5) predictor : E = Y - y* ≈ y (t) p r +1 r +1
90
5
− 1 h(5) corrector : E = Y - y ≈ y (t) p r +1 r +1
90 untuk x < t < x . r -3 r +1
IF4058 Topik Khusus Informatika I: Metode
Metode Hamming
4h: y* = y / (2 f - f + 2f ) r +1 r -3 3 r -2 r -1 r
- predictor
− y
9
− y 3h r 2 r corrector: y = + + (-f + 2 f + f ) r +1 r -1 r r +1
8
8
8 IF4058 Topik Khusus Informatika I: Metode IF4058 Topik Khusus Informatika I: Metode
Prosedur Pendahuluan
- PDB hanya mempunyai satu nilai awal, yaitu y = y(x ).
• Dengan demikian, metode banyak-langkah tidak swa- • Dengan demikian, metode banyak-langkah tidak swa-
mulai (self-start), sehingga tidak dapat diterapkan langsung, sebab metode tersebut memerlukan beberapa buah nilai awal.- Inilah kelemahan metode banyak-langkah.
Misalkan predictor mempunyai persamaan
- h
- y* = y / (23f - 16f + 5f )
r+1 r 12 r r-1 r-2 Untuk menghitung y* , kita harus mempunyai nilai y , y , dan y
- 3
1
2 agar nilai f = f(x , y ) , f = f(x , y ) , f = f(x , y )
1
1
1
2
2
2 dapat ditentukan.
Untuk mendapatkan beberapa nilai awal yang lain, kita harus Untuk mendapatkan beberapa nilai awal yang lain, kita harus
- melakukan prosedur pendahuluan (starting procedure) dengan
metode PDB yang bebas (biasanya metode Euler, metode Runge-
Kutta) Jadi, untuk contoh predictor di atas, y dan y dihitung terlebih - 1
2 dahulu dengan salah satu prosedur pendahuluan. Selanjutnya, metode P-C dapat dipakai untuk menghitung y , y , ..., y .
3
4 n
IF4058 Topik Khusus Informatika I: Metode
- Dalam bidang sains dan rekayasa, persamaan diferensial banyak muncul dalam bentuk simultan, yang dinamakan sistem persamaan diferensial, sebagai berikut
=
(x ) = y
n
) , y
n
2 ,…, y
1 , y
(x, y
n
= f
dx dy n
n
Sistem Persamaan Diferensial
20 y'
) , y 2 (x ) = y
n
2 = f 2 (x, y 1 , y 2 ,…, y
dx dy
10 y' 2 =
1 = f 1 (x, y 1 , y 2 ,…, y n ) , y 1 (x ) = y
dx dy
IF4058 Topik Khusus Informatika I: Metode y' 1 =
dy
n
- Sistem persamaan diferensial tersebut dapat ditulis dalam notasi vektor sebagai berikut: y' = f (x, y) , y(x ) = y
y '
. . . . y n y ' n f n n y
IF4058 Topik Khusus Informatika I: Metode . . . .
y y = . , y' = . , f = . , y = .
2
2
f
2
2
y
y y
1
1
f
1
y '
1
Semua metode yang telah dijelaskan untuk persamaan
tunggal (Euler, Runge-Kutta, dll.) dapat diterapkan pada
sistem persamaan di atas.- Contoh: Diketahui sistem PDB orde satu:
dt dy = -0.5 y , y(0) = 4 dt dz
= 4 - 0.3z - 0.1 y , z(0) = 6 Hitung y(0.5) dan z(0.5) dengan (a) metode Euler, dan (b)
IF4058 Topik Khusus Informatika I: Metode
Hitung y(0.5) dan z(0.5) dengan (a) metode Euler, dan (b) metode Runge-Kutta orde 3. Ambil h = 0.5.
Penyelesaian:
−
y y ' .
5 y
4
f
1 y = , y' = , f = = y =
− −
z z ' 4 .
3 z . 1 y
6
f
2 Sistem PDB di atas dapat ditulis menjadi y' = f (t, y), y(t ) = y
= y + hf( t , y ):
r r r r
(a) Dengan metode Euler y +1
y y
= y = y + hf + hf (t (t , y , y , z , z ) )
r r r r r r r r r r
- 1 +1
1
1
z
= z + hf (t , y , z )
r r r r r
- 1
2
t
= 0 → y = 4 dan z = 6
t = 0.5 → y = y(0.5) = y + hf (t , y , z ) = 4 + (0.5){(-0.5)(4)} = 3
1
1 z = z(0.5) = z + hf (t , y , z )
1
2 = 6 + (0.5){4 - (0.3)(6) - (0.1)(4)} = 6.9
IF4058 Topik Khusus Informatika I: Metode
(b) Dengan metode Runge-Kutta orde-3, k = hf (t , y ),
1 r r
k = hf (t + h/2, y + k /2)
2 r r
1
k = hf (t +h, y - k + 2k )
2 r r
1
2
y = y + (1/6)(k + 4k + k ) r +1 r
1
2
3
→ t = 0 y = 4
→ t = 0.5 y = ?
1
1
k k = hf = hf (t (t , y , y , z , z ) )
1
1
1
1
= 0.5 {(-0.5)(4)} = -1 k = hf (t + h/2, y + k /2, z + k /2)
2
1
1
1
= (0.5)f (0.25, 3.5, 5.5)
1
= (0.5){(-0.5)(3.5)} = -0.875 k = hf (t + h, y - k + 2k , z - k + 2k )
3
1
1
2
1
2
= 0.5 f (0.5, 3.25, 6.815)
1
= 0.5{(-0.5)(3.25)} = -0.8125
IF4058 Topik Khusus Informatika I: Metode sehingga
1
- y = y(0.5) = y / (k + 4k + k )
1
6
1
2
3 1/ = 4 + {-1 + 4(-0.875) + (-0.8125)}
6 = 3.114583 → t = 0 z = 6
→ t = 0.5 z = ?
1
1 = hf (t , y , z ) k
1
2 = 0.5 {4 - (0.3)(6) - (0.1)(4)} = 0.9 k = hf (t + h/2, y + k /2, z + k /2)
2
2
1
1 = (0.5) f (0.25, 4.45, 6.45)
2 = (0.5){4 - (0.3)(6.45) - (0.1)(4.45)} = 0.81 k = hf (t + h, y - k + 2k , z - k + 2k )
3
2
1
2
1
2 = 0.5 f (0.5, 4.72, 6.72)
2 = 0.5{4 - (0.3)(6.72) - (0.1)(4.72)} = 0.756 sehingga = z(0.5) = z + (1/6)(k + 4k + k ) z
1
1
2
3 = 6 + (1/6) {0.9 + 4(0.81) + 0.756} = 6.816
IF4058 Topik Khusus Informatika I: Metode
Persamaan Diferensial Orde Lanjut
Persamaan differensial orde lanjut adalah persaman diferensial dengan
- orde yang lebih besar dari satu. Persamaan diferensial ini dapat ditulis kembali sebagai sistem persamaan
- diferensial orde-1. Misalkan kepada kita diberikan PDB orde-2 Misalkan kepada kita diberikan PDB orde-2
- y" = f(x, y, y') ; y(x ) = y dan y'(x ) = z
- Untuk mengubah PDB orde-2 tersebut menjadi sistem PDB orde-1,
- misalkan y' = z maka z' = y" = f(x, y, y') = f(x, y ,z) ; y(x ) = y dan z(x ) = z
IF4058 Topik Khusus Informatika I: Metode Dengan demikian, persamaan y" = f(x, y, y') dapat ditulis menjadi sistem persamaan diferensial biasa:
dx dy
= z , y(x ) = y
dx dz
= f(x, y, y') = f(x, y, z) , z(x ) = z
IF4058 Topik Khusus Informatika I: Metode atau dalam notasi vektor:
y' = f(x, y) ; y(x ) = y
yang dalam hal ini
y = z y
, y' = f = ) , , ( z y x f
z
, y(x ) =
- Contoh: Nyatakan PDB orde-2 berikut: y" - 3y' - 2y = 0 ; y(0) = 1 dan y'(0) = 0.5 ke dalam sistem persamaan diferensial biasa orde-1. Penyelesaian: Diketahui PDB orde-2: y" = 3y' - 2y = f(x, y, y') Misalkan Misalkan y' = z maka z' = y" = f(x, y, y') = f(x, y, z) = 3z - 2y dan y(0) = 1, z(0) = 0.5;
IF4058 Topik Khusus Informatika I: Metode sehingga diperoleh sistem PDB orde-1
dy
= z , y(0) = 1
dx dz
= 3z - 2y , z(0) = 0.5
dx
atau dalam notasi vektor:
y' = f (x, y) ; y(0) = y
yang dalam hal ini,
y z
1
y = , f = , y =
−
z
3 z 2 y .
5 IF4058 Topik Khusus Informatika I: Metode Penyelesaian: y"' = x - y2 + y' - 3y" = f(x, y, y', y") Misalkan y' = z dan dan y" = z' = t maka t' = y"' = f(x, y, y', y") = f(x, y, z, t) = x - y
2
Contoh: Nyatakan PDB orde-3 berikut: y"' - x + y2 - y' + 3y" = 0 ; y(0) = 0; y'(0) = 0.5, y"(0) = 1 ke dalam sistem persamaan diferensial biasa orde-1.
- z - 3t dan y(0) = 0, z(0) = 0.5, t(0) = 1;
IF4058 Topik Khusus Informatika I: Metode sehingga diperoleh sistem PDB orde-1 dy
= z , y(0) = 0 dx dz
= t , z(0) = 0.5 dx dt
2 = x - y + z - 3t , t(0) = 1 dx atau dalam notasi vektor y' = f (x, y) , y(0) = y yang dalam hal ini, y z z t y = , f = , y(0) = .
5
2
− − t x y z t
- IF4058 Topik Khusus Informatika I: Metode
3
1