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 - yy (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