Bab 4 Persamaan Differensial Biasa 2

You might also like

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 28

BAB 4

PERSAMAAN
DIFFERENSIAL BIASA
(PDB) DAN OPTIMASI

DEFINISI PDB

KLASIFIKASI PDB
Berdasarkan Orde
Orde 1

Orde 2

Orde 3

dy
y kx
dx
d2y
dy
y
kx
2
dx
dx

d y
d y
dy
a 2 b kx
3
dx
dx
dx

CONTOH 4.1
TRANSFORMASI KANONIKAL PDB LINIER
HOMOGEN
d 4z
d 3z
d 2z
dz

6
3z 0
dt 4
dt 3
dt 2
dt

z y1
dz dy1

y2
dt dt
d 2 z dy2

y3
2
dt
dt
d 3 z dy3

y4
3
dt
dt
d 4 z dy4

4
dt
dt

dy1
dt
dy2
dt
dy3
dt
dy4
dt

y2
y3
y4
3 y1 6 y2 2 y3 5 y4

dy1
dt
dy2
dt
dy3
dt
dy4
dt

y2

y3
y4
3 y1 6 y2 2 y3 5 y4

dy1
dt
dy2
dt
dy3
dt
dy4
dt

0
0

0
0

0 0 0 1

3
6
2


atau
y' Ay

1 0
0 1

y1
y
2
y3

y4

CONTOH 4.2
TRANSFORMASI KANONIKAL PDB LINIER NON
HOMOGEN
d 4z
d 3z
d 2z
dz
t

3
z

e
dt 4
dt 3
dt 2
dt

y5 e t
dy5
e t y5
dt

dy1
dt
dy2
dt
dy3
dt
dy4
dt
dy5
dt

y2
y3
y4
3 y1 6 y2 2 y3 5 y4 y5
y5

dy1
dt
dy2
dt
dy3
dt
dy4
dt
dy5
dt

y2
y3
y4
3 y1 6 y2 2 y3 5 y4 y5
y5

0
0

A 0

3
0

1
0
0
6
0

0 0 0
1 0 0
0 1 0

2 5 1
0 0 1

CONTOH 4.3
TRANSFORMASI KANONIKAL PDB NON LINIER
3

2
d 3z
dz
2 d z
z
2z 0
3
2
dx
dx dx

z y1
dz dy1

y2
dx dx
2
d z dy2

y3
2
dx
dx
3
d z dy3

3
dx
dx

dy1
y2
dx
dy2
y3
dx
dy3
2 y1 y23 y12 y3
dx

Metode nilai-vektor eigen


Harga

e At

dapat dihitung dengan menggunakan bantuan nilai dan vektor

eigen.

e At Ve Dt V 1
Sehingga solusi PDB linier menjadi.

y Ve Dt V 1 y0

Untuk lebih memahami metode nilai-vektor eigen berikut ini disajikan


penyelesaian kasus dengan menggunakan metode nilai-vektor eigen.

SISTEM
PERS. DIFERENSIAL LINIER

dy
ay
dt

nilai awal:

y 0 y0

a adalah matriks persegi (m x m) dan y adalah


vektor
y
t kolom (m
x 1)

integrasi

dy
y y 0 adt
0

y
ln
at
y0
y e at y0

2 2
3 3
A
t
A
t
e At I At

...
2!
3!

Fungsi matriks
eksponensial

Kasus 7
Berikut ini adalah PDB linier orde 2.
d 2x
dx
3 10 x 0
2
dt
dt

x(0) 3
Dengan nilai awal pada t = 0, sbb: dx
0 15
dt
Selesaikan PDB tercetak menggunakan
metode nilai-vektor eigen dalam interval 0 t
1.0 (Langkah integrasi 0.1)

d 2x
dx
3 10 x 0
2
dt
dt
x y1
dx dy1

y2
dt dt
d 2 x dy2

3 y2 y1
2
dt
dt

dy1
dt
0 1 y1


y
dy
1
3

2
2
dt
y

>> A=[0 1

Nilai awal

1 3]
A=
0

x(0) y1 (0) 3
dx
dt

y2 (0) 15

>> [V,D]=eig(A)
V=
-0.9571

0.2898

0.2898

0.9571

D=
-0.3028
0

0.9571 0.2898
V

0.2898 0.9571

3.3028

0.9571 0.2898 e 0.3028t


y

0.2898
0.9571
0

0

e0.3028 t

0
0.3028
dan D

0
3.3028

1
0.9571 0.2898

0.2898 0.9571

Dengan mensubstitusikan t = 0 s.d 1 (langkah integrasi 0.1) selesailah persoalan ini.

3
15

kasus7.m

clear
clc
A = [0 1
1 3];
% Nilai awal
yo = [3;15];
a=length(yo);
% Vektor dan Nilai eigen
[V,D]=eig(A);
% Rentang integrasi
t=[0:0.1:1]

Pemrograman MATLAB
x =zeros(length(t),a);
for i = 1 : length(t)
y = (V*diag(exp(diag(D)*t(i)))*inv(V))*yo;
x(i,:) = y;
end
x
% kurva t-x
plot(t,x(:,1))
xlabel('t')
ylabel('x')
grid on

Eksekusi program kasus7.m (lanjutan)


Hasil di Command Window :
>>kasus7
t=
0
0.1000
0.2000
0.3000
0.4000
0.5000
0.6000
0.7000
0.8000
0.9000
1.0000

x=
3.0000
4.7688
7.2122
10.5945
15.2839
21.7922
30.8319
43.3941
60.8578
85.1416
118.9150

15.0000
20.6902
28.6127
39.6409
54.9901
76.3512
106.0768
147.4403
204.9959
285.0806
396.5110

Eksekusi program kasus7.m (lanjutan)


Hasil di Command Window :
120

100

80

60

40

20

0.1

0.2

0.3

0.4

0.5
t

0.6

0.7

0.8

0.9

SUBRUTIN ODE23 MATLAB


Subrutin dalam MATLAB untuk solusi PDB bernilai awal
Pada bagian ini akan dijelaskan subrutin ode23
dalam MATLAB untuk menyelesaikan PDB bernilai
awal dengan karakter linier, taklinier, tunggal
maupun jamak (sistem).
Cara penulisan sintaks ode23
[t,y] = ode23(fungsiPDB,rentang_t,y0)

Fungsi PDB yang


akan dievaluasi

Rentang
integrasi

Harga awal

Kasus 8
Studi terhadap kinetika proses fermentasi berhasil
dimodelkan secara matematis sbb:

dy1
y1
k1 y1 1
dt
k2

dy2
k3 y1 k4 y2
dt
Dengan k1 = 0.03120; k2 = 47.70; k3 = 3.374 ;k4 =
0.01268 serta nilai pada t = 0, y1=5, y2=0.
Evaluasi harga y1 dan y2 dalam interval waktu 0 s.d 10
jam setiap jamnya!.

fermen.m

Pemrograman MATLAB

function dydt = fermen(t,y)


k1=0.03120;
k2=47.70;
k3=3.374;
k4=0.01268;
dydt = zeros(2,1);
dydt(1) = k1*y(1)*(1-y(1)/k2);
dydt(2) = k3*y(1)-k4*y(2);

Pemrograman MATLAB

kasus8.m

clear
clc
tspan = [0:1:10];
yo = [5 0];
[t,y]=ode23('fermen',tspan,yo)

Eksekusi program kasus8.m


Hasil di Command Window :
>>kasus8

t=
0
1
2
3
4
5
6
7
8
9
10

y=
5.0000
5.1414
5.2863
5.4347
5.5868
5.7425
5.9020
6.0652
6.2323
6.4033
6.5783

0
17.0000
34.2657
51.8056
69.6282
87.7422
106.1564
124.8796
143.9206
163.2886
182.9924

1. Selesaikan persamaan dibawah ini dengan nilai awal interval t= 0-2


dimana y(0)= 1.
Tunjukkan hasil dalam visualisasi grafik.

2. selesaikan persamaan dibawah ini pada t= 0-4 dimana kondisi awal t = 0,


y = 2.

P
O

M
I
T

I
S
A

OPTIMASI MENGGUNAKAN MATLAB


Untuk mencari harga minimum dan maksimum kita dapat menggunakan perintah
fminsearch. Berikut ini cara penulisannya.

[x,fval,exitflag] = fminsearch(fun,x0)
keterangan:
fun = Fungsi yang akan diminimumkan atau dimaksimumkan
x0 = Tebakan awal
x = Harga x yang menyebabkan fungsi minimum atau maksimum
fval = Nilai maksimum atau minimum.
exitflag = Kriteria penghentian proses iterasi. Harga x mencapai kekonvergenan jika
exitflag bernilai 1.

OPTIMASI VARIABEL TUNGGAL


Carilah nilai minimum dengan subrutin fminsearch dari
persamaan

f=x^2-2*x-3;
m-file 1
function f=cobalagi(x)
f=x^2-2*x-3;
m-file 2
[x,fval]=fminsearch('cobalagi',0)

x=
1.0000

fval =
-4

OPTIMASI VARIABEL JAMAK


Carilah titik minimum dari persamaan multivariabel berikut ini.

y ( x1 3) 2 0.5( x2 4) 2 3
Jawaban

%multivaribel.m
function y = multivariabel(x);
y = (x(1)-3)^2 + 0.5*(x(2)-4)^2 + 3;
[x,fval,exitflag] = fminsearch('multivariabel',[1,16])

x =
3.0000

4.0000

fval =
3.0000
exitflag =
1
Buka problem solving soal no. 27 dan 29

Tugas

You might also like