Anda di halaman 1dari 5

Erwin Junary (100405058) Sari Wahyu Waryani (100405009) Komputasi Proses

PENYELESAIAN PERSAMAAN DIFERENSIAL ORDE SATU


Persamaan diferensial (PD) orde satu merupakan bentuk PD yang paling sederhana, karena hanya melibatkan turunan pertama dari suatu fungsi yang tidak diketahui. Jika dalam persamaan tersebut variabel bebas dan variabel tak bebasnya berada pada sisi yang berbeda dari tanda persamaannya, maka disebut PD yang terpisah dan untuk menentukan selesaiannya tinggal diintegralkan. Jika tidak demikian, maka disebut PD tak terpisah. Suatu PD orde satu yang tak terpisah biasanya dapat dengan mudah dijadikan PD terpisah melalui penggantian (substitusi) dari salah satu variabelnya.

Persamaan diferensial terpisah Banyak PD orde satu yang dapat direduksi ke dalam bentuk (1) g(y)y = f(x)

dengan menggunakan manipulasi aljabar. Karena y = dy/dx,

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.

M-Files untuk Euler


function [wi, ti] = euler ( RHS, t0, x0, tf, N ) %EULER approximate the solution of the initial value problem % % x'(t) = RHS( t, x ), x(t0) = x0 % % using Euler's method - this routine will work for a system % of first-order equations as well as for a single equation % % calling sequences: % [wi, ti] = euler ( RHS, t0, x0, tf, N ) % euler ( RHS, t0, x0, tf, N ) % % inputs: % RHS string containing name of m-file defining the % right-hand side of the differential equation; the % m-file must take two inputs - first, the value of % the independent variable; second, the value of the % dependent variable % t0 initial value of the independent variable % x0 initial value of the dependent variable(s) % if solving a system of equations, this should be a % row vector containing all initial values % tf final value of the independent variable % N number of uniformly sized time steps to be taken to % advance the solution from t = t0 to t = tf % % output: % wi vector / matrix containing values of the approximate % solution to the differential equation % ti vector containing the values of the independent % variable at which an approximate solution has been % obtained % neqn = length ti = linspace wi = [ zeros( wi(1:neqn, 1) ( x0 ); ( t0, tf, N+1 ); neqn, N+1 ) ]; = x0';

h = ( tf - t0 ) / N; for i = 1:N x0 = x0 + h * feval ( RHS, t0, x0 ); t0 = t0 + h; wi(1:neqn,i+1) = x0'; end;

M-Files untuk Heun


function [wi, ti] = heun ( RHS, t0, x0, tf, N ) %MOD_EULER approximate the solution of the initial value problem % % x'(t) = RHS( t, x ), x(t0) = x0 % % using Heun's method - this routine will work for a system % of first-order equations as well as for a single equation % % calling sequences: % [wi, ti] = heun ( RHS, t0, x0, tf, N ) % heun ( RHS, t0, x0, tf, N ) % % inputs: % RHS string containing name of m-file defining the % right-hand side of the differential equation; the % m-file must take two inputs - first, the value of % the independent variable; second, the value of the % dependent variable % t0 initial value of the independent variable % x0 initial value of the dependent variable(s) % if solving a system of equations, this should be a % row vector containing all initial values % tf final value of the independent variable % N number of uniformly sized time steps to be taken to % advance the solution from t = t0 to t = tf % % output: % wi vector / matrix containing values of the approximate % solution to the differential equation % ti vector containing the values of the independent % variable at which an approximate solution has been % obtained % neqn = length ti = linspace wi = [ zeros( wi(1:neqn, 1) ( x0 ); ( t0, tf, N+1 ); neqn, N+1 ) ]; = x0';

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;