You are on page 1of 28

BAB 4

PERSAMAAN
DIFFERENSIAL BIASA
(PDB) DAN OPTIMASI
DEFINISI PDB
 
KLASIFIKASI PDB
Berdasarkan Orde

dy
Orde 1  y  kx
dx

d2y dy
Orde 2 2
y  kx
dx dx

3 2 2
Orde 3 d y d y  dy
3
 a 2  b    kx
dx dx  dx
CONTOH 4.1
TRANSFORMASI KANONIKAL PDB LINIER
HOMOGEN

d 4z d 3z d 2z dz
 5  2  6  3z  0
dt 4 dt 3 dt 2 dt

z  y1
dz dy1 dy1
  y2  y2
dt dt dt
d 2 z dy2 dy2
  y3  y3
dt 2
dt dt
d 3 z dy3 dy3
  y4  y4
dt 3
dt dt
dy4
d 4 z dy4  3 y1  6 y2  2 y3  5 y4
4
 dt
dt dt
dy1
 y2
dt
 
dy1
 0 1 0 0  y1
dy2 
dt
  0  y
 y3 
dy2
  0 1 0  2
dt
dt

 
dy3
 0 0 0 1  y3
dy3  
dt
   
 y4
dy4
 dt  3 6 2 5   y4
dt atau
dy4 y'  Ay
 3 y1  6 y2  2 y3  5 y4
dt
CONTOH 4.2
TRANSFORMASI KANONIKAL PDB LINIER NON
HOMOGEN

d 4z d 3z d 2z dz t
 5  2  6  3 z  e
dt 4 dt 3 dt 2 dt
dy1
 y2
dt
dy2
y5  e t  y3
dt
dy5 dy3
 e  t   y5  y4
dt dt
dy4
 3 y1  6 y2  2 y3  5 y4  y5
dt
dy5
  y5
dt
dy1
 y2
dt
dy2
 y3  0 1 0 0 0
dt  0 0 1 0 0
dy3 
 y4 A 0 0 0 1 0
dt
 
 3 2 5 1
dy4 6
 3 y1  6 y2  2 y3  5 y4  y5
dt  0 0 0 0 1
dy5
  y5
dt
CONTOH 4.3
TRANSFORMASI KANONIKAL PDB NON LINIER
3
d 3z 2
2 d z  dz
3
z 2
    2z  0
dx dx  dx

z  y1
dz dy1 dy1
  y2  y2
dx dx dx
2
d z dy2 dy2
  y3  y3
dx 2
dx dx
3 dy3
d z dy3  2 y1  y23  y12 y3
3
 dx
dx 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 y  0   y0
 ay nilai awal:
dt

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


y vektor
t kolom (m
dy
y y  0 adt
x 1)

0
integrasi
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
2
 3  10 x  0
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
2
 3  10 x  0  dy1
dt dt  dt   0 1  y1
x  y1      y
 2dy  1 3   2
dx dy1  dt 
  y2
dt dt
d 2 x dy2 y’ A y
2
  3 y2  y1
dt dt
>> A=[0 1
Nilai awal
1 3]
A=
x(0)  y1 (0)  3
0 1
dx
1 3
0  y2 (0)  15
dt
>> [V,D]=eig(A)
V=
-0.9571 0.2898
0.2898 0.9571

D=
 0.9571 0.2898  0.3028 0
-0.3028 0 V   dan D  
 0.2898 0.9571  0 3.3028 
0 3.3028

  0.9571 0.2898  e 0.3028t 0   0.9571 0.2898


   
1
3
y         
  0.2898 0.9571   0 e0.3028 t  0.2898 0.9571     15
Dengan mensubstitusikan t = 0 s.d 1 (langkah integrasi 0.1) selesailah persoalan ini.
kasus7.m Pemrograman MATLAB

clear x =zeros(length(t),a);
clc for i = 1 : length(t)
A = [0 1 y = (V*diag(exp(diag(D)*t(i)))*inv(V))*yo;
1 3]; x(i,:) = y;
% Nilai awal end
yo = [3;15]; x
a=length(yo); % kurva t-x
plot(t,x(:,1))
% Vektor dan Nilai eigen xlabel('t')
[V,D]=eig(A); ylabel('x')
% Rentang integrasi grid on
t=[0:0.1:1]’
Eksekusi program kasus7.m (lanjutan)
Hasil di Command Window :

>>kasus7 x=

t= 3.0000 15.0000
4.7688 20.6902
0 7.2122 28.6127
0.1000 10.5945 39.6409
0.2000 15.2839 54.9901
0.3000 21.7922 76.3512
0.4000 30.8319 106.0768
0.5000 43.3941 147.4403
0.6000 60.8578 204.9959
0.7000 85.1416 285.0806
0.8000 118.9150 396.5110
0.9000
1.0000
Eksekusi program kasus7.m (lanjutan)
Hasil di Command Window :

120

100

80

60
x

40

20

0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
t
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 Rentang Harga awal


akan dievaluasi integrasi
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);
kasus8.m Pemrograman MATLAB

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= y=

0 5.0000 0
1 5.1414 17.0000
2 5.2863 34.2657
3 5.4347 51.8056
4 5.5868 69.6282
5 5.7425 87.7422
6 5.9020 106.1564
7 6.0652 124.8796
8 6.2323 143.9206
9 6.4033 163.2886
10 6.5783 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.
SI
A
IM
P T
O
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 =

Buka problem solving soal no. 27 dan 29 


Tugas

You might also like