persamaan differensial biasa dengan...

15
Persamaan Differensial Biasa dengan Scilab Komputasi dalam Bioteknologi

Upload: ngoquynh

Post on 15-Mar-2019

266 views

Category:

Documents


0 download

TRANSCRIPT

Persamaan Differensial Biasa dengan Scilab

Komputasi dalam Bioteknologi

Pendahuluan

• Persamaan Differensial adalah 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 : • PDB Orde 1 : turunan pertama merupakan turunan tertinggi • PDB Orde 2 : turunan kedua merupakan turunan tertinggi • PDB Orde 3 : turunan ketiga merupakan turunan tertinggi. • Dan seterusnya

– PD Parsial Persamaan Differensial yang memiliki lebih dari satu

variabel bebas.

Pendahuluan

• Contoh Persamaan : 𝑑𝑦

𝑑𝑥= 𝑥 + 𝑦

• Turunan dilambangkan dengan : dy/dx atau f’(x) atau y’, sedangkan fungsi yang tidak diketahui dilambangkan dengan keberadaan variabel terikatnya.

• Pada contoh di atas, maka turunan dilambangkan dengan dy/dx dan fungsi yang tidak diketahui diwakili dengan variabel y.

4

Pendahuluan

22' yxy

Kategorikan : (PD / bukan PD / PDP / PDB ?)

02 2 yyxdx

dy

)2(3)(''' xSinyxCosyy

''1'2'''2 yyy

2

22

2

2

)1()(3y

ux

x

utxSin

t

u

4)(' 2 xxxf

)(;173' 53 tfytty

1. PDB orde 1

2. PDP

3. Bukan PD

4. PDB orde 2

5. PDB orde 3

6. Bukan PD

7. PDP

8. PDB orde 1

yxxyey

u

x

u

6

2

2

2

2

5

Pendahuluan

• Solusi PDB : – 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

• Suatu persamaan diferensial biasa orde pertama dengan kondisi awal secara umum dapat dinyatakan dengan notasi matematika

sebagai berikut 𝑑𝑦

𝑑𝑡= 𝑓 𝑡, 𝑦 dengan

𝑦 𝑡0 = 𝑦0

7

PDB Orde Satu

• Bentuk baku PDB orde satu :

• Contoh :

• Metode penyelesaian : – Euler

– Heun

– Runge Kutta

),(')(' yxfyxfdx

dy

yx

yxyyyyy

xy

xy

xyyyxyy

2'1)1(;'2

2

100'1)0(;100'2

Fungsi ode

• Persamaan diferensial biasa tunggal maupun sistem persamaan differensial biasa dapat diselesaikan dengan fungsi ode.

• Sintaks dari fungsi ode adalah 𝑦 = 𝑜𝑑𝑒(metode,y0, t0, t, func) • Dimana

– y0, t0 adalah kondisi awal dari persamaan diferensial. – Argumen input y0 harus berupa sebuah kolom vektor. – Argumen input t adalah vektor untuk menyatakan waktu-waktu

dimana persamaan differensialnya dihitung. – Argumen func adalah fungsi persamaan diferensial dan secara eksplisit

harus mempunyai argumen input t meskipun untuk persamaan diferensial yang bersifat autonomous.

– Argumen metode adalah argumen opsional untuk menyatakan metode yang digunakan dalam perhitungan.

Contoh 1

•𝑑𝑦

𝑑𝑡= −2𝑡𝑦 , 𝑦 0 = 1

• Penyelesaian:

– -->function dy = func(t,y) – --> dy = -2*t*y – -->endfunction – -->y0 = 1; – -->t = linspace(0,2,200); – -->y = ode(y0,0,t,func); – -->plot2d(t,y,style=2) – -->xtitle('','t','y')

Contoh 2

•𝑑𝑦1

𝑑𝑡= 2𝑦1 − 4𝑦2, 𝑦1 0 = 3

•𝑑𝑦2

𝑑𝑡= 𝑦1 − 3𝑦2, 𝑦2 0 = 0

• Penyelesaian: – -->function ydot = f(t,y) – --> ydot(1) = 2*y(1) - 4*y(2) – --> ydot(2) = y(1) - 3*y(2) – -->endfunction – -->y0 = [3; 0]; // Nilai awal – -->t = linspace(0,1,500); – -->y = ode('adams',y0,0,t,f); – -->plot2d(y(1,:),y(2,:),style=5) – -->xtitle('','y1','y2')

Contoh 3

• Persamaan diferensial orde kedua

•𝑑2𝑦

𝑑𝑥2 +𝑑𝑦

𝑑𝑥− 2𝑦 = 0, 𝑦 0 = 4,

𝑑𝑦

𝑑𝑥0 = −5

• Penyelesaian: • Agar sebuah persamaan diferensial orde-n dapat

diselesaikan dengan fungsi ode maka persamaan diferensial tersebut harus dinyatakan ke dalam sistem persamaan diferensial orde pertama yang ekuivalen.

• Misal 𝑦1 = 𝑦 dan y2 =dy

dx

•𝑑𝑦1

𝑑𝑥= 𝑦2 dan

𝑑𝑦2

𝑑𝑥= 2𝑦1 − 𝑦2

• Kondisi awal dapat dinyatakan dengan persamaan y1(0)=4 dan y2(0)=-5 – -->function dy = f_ode2(t,y)

– --> dy = [y(2); 2*y(1) - y(2)]

– -->endfunction

– -->y0 = [4; -5];

– -->x = linspace(0,2,500)';

– -->y = ode(y0,0,x,f_ode2);

– -->plot2d(x,y(1,:)',style=2), xtitle('','x','y')

Contoh 4

• Anggap ketika meluncur ke bawah seorang penerjun payung diasumsikan mendapatkan tahanan udara yang sebanding kuadrat dari kecepatannya maka kecepatannya dapat dinyatakan dalam persamaan diferensial sebagai berikut:

𝑑𝑦

𝑑𝑡= −

𝑏

𝑚(𝑣2 −

𝑚𝑔

𝑏)

• dimana v adalah kecepatan penerjun payung (m/s), m adalah massa penerjun payung (kg), g adalah percepatan gravitasi dan b adalah koefisien tahanan udara. Apabila diketahui m = 72.7 kg, g = 9.80 m/s2 dan b = 30 kg/m. Selesaikan persaman diferensial tersebut dan gambar laju dari penerjun payung sesaat setelah melompat sampai dua detik berikutnya ?

– -->g = 9.80; // percepatan gravitas (m/s^2) – -->m = 72.7; // massa penerjun payung – -->b = 30; // konstanta tahanan udara – -->v0 = 10; // kecepatan awal – -->function vdot = fode(t,v,m,g,b) – --> k = m*g/b – --> vdot = -b/m*(v^2 - k) – -->endfunction – -->t = linspace(0,2,500)'; – -->v = ode(v0,0,t,fode); – -->v($-4:$) ans = 4.874411 4.8743926 4.8743745 4.8743567 4.8743391 – -->plot2d(t,v,style=5) – -->xtitle('Model kecepatan penerjun payung','Waktu (s)','Kecepatan (m/s)')

Dari output di atas, diperoleh bahwa kecepatan akhir dari penerjun payung adalah sekitar 4.874 m/s.

Terima kasih