Persamaan diferensial terpisah Banyak PD orde satu yang dapat direduksi ke dalam bentuk (1) g(y)y = f(x)
maka kita lebih sering menuliskan (1) sebagai (2) g(y) dy = f(x) dx.
Karena dalam persamaan (2) variabel x dan y terpisah, yakni masing-masing berada pada sisi yang berlainan, maka persamaan (2) disebut PD variabel terpisah, atau secara singkat cukup dinamakan persamaan terpisah. Dengan melakukan pengintegralan pada dua sisinya, diperoleh (3) g (y)dy = f (x)dx + c
Contoh : 9yy + 4x = 0. Penyelesaian: Dengan pemisahan variabel akan diperoleh 9y dy = -4x dx. Dengan pengintegralan pada masing-masing sisinya akan diperoleh selesaian umum:
Metode Euler Merupakan metode yang paling sederhana untuk mengintegrasikan PDB orde satu secara numerik. Kondisi atau syarat atau nilai awal (x0, y0) digunakan untuk menghitung besarnya slope (atau tangen arah) y(x) pada x = x0: Contoh : Gunakan metode Euler untuk menghitung nilai y pada x = 1 jika: dengan nilai awal: y = 1 pada x = 0 = x2 y
Penyelesaian:
Formula metode Euler untuk kasus ini dapat dituliskan sebagai:
Jika diambil step size x = 0,1, maka: pada x0 = 0 dan y0 = 1 dapat dihitung: y1 = 1 + (0,1) (0)2 (1) = 1 Selanjutnya, pada x1 = x0 + x = 0 + 0,1 = 0,1 dan y1 = 1 dapat dihitung: y2 = 1 + (0,1) (0,1)2 (1) = 1,001 Selanjutnya, pada x2 = x1 + x = 0,1 + 0,1 = 0,2 dan y2 = 1,001 dapat dihitung: y3 = 1,001 + (0,1) (0,2)2 (1,001) = 1,005 Demikian seterusnya, hingga diperoleh y pada x = 1.
Sebagai perbandingan, dapat diambil nilai step size yang lain, misalnya: x = 0,05, x = 0,02, dan x = 0,2. Dengan cara yang sama, maka dapat diperoleh hasil-hasil perhitungan sbb.:
Metode Heun Metode ini menyempurnakan metode Euler melalui penentuan dua nilai turunan fungsi sepanjang interval x, yakni: (a) di awal interval x, dan (b) di akhir interval x. Kedua nilai turunan ini selanjutnya dirata-ratakan untuk menghasilkan perkiraan nilai slope pada keseluruhan interval x.
h = ( tf - t0 ) / N; for i = 1:N f1 = feval ( RHS, t0, x0 ); xtilde = x0 + h * f1; x0 = x0 + (h/2) * ( f1 + feval ( RHS, t0+h, xtilde ) ); t0 = t0 + h; wi(1:neqn,i+1) = x0'; end;