Kompros Scilab PDF
Kompros Scilab PDF
using
Scilab
Komputasi Proses
1.
2.
3.
4.
Pengenalan Scilab
Bahasa pemrograman dengan Scilab
Metoda Numerik
Aplikasi Komputasi Proses dengan
Scilab
Introduction
Physical &
Mathematical
MODELS
TOOL to solve
PROBLEMS
Simplified
picture of
REALITY
Forecasting
Controlling
Software
Engineers are
symbolic analysts
Language
Interactive
program
Programme
Scilab
Software gratis:
http://www.scilab.org
OS: Windows dan Linux
Mirip dengan program Matlab
Menu Bar
Tool Bar
-->r=6
r =
6.
-->luas=0.25*%pi*r^2
luas =
28.274334
deff((out1,out2,)=modul(in1,in2,),persamaan
Fungsi: mendefinisikan persamaan (rumus) pada jendela kerja
-->deff('A=luas(r)','A=0.25*%pi*r^2')
-->ls=luas(3)
ls =
7.0685835
-->
Perintah membuka
Jendela Editor
Dari menu bar: (klik)
Editor
Atau tekan [alt d]
Dari Tool bar: (klik)
Hasil
Tips:
Cara lebih mudah, dapat dilakukan (pilih salah satu):
Pada menu bar jendela editor, pilih Execute (Alt+x) Load into
Scilab
Pada menu bar jendela editor, Ctrl + l
Pada menu bar jendela kerja, pilih File Exec pilih file yang
akan dieksekusi
-->exec('c:\scilabc\luasbs.sci')
-->function hsl=luasbs(r);
--> hsl = 0.25*%pi*r^2;
-->endfunction;
-->
getf()
1
2
3
4
function V=volbs(h,r)
getf('c:/scilabc/luasbs.sci')
V=h*luasbs(r)
endfunction
ls file_dir
-->ls c:/scinum
ans =
!volbs.sci
!
!
!
!luasbs.sci !
-->
genlib(nama,file_dir)
-->genlib('libsbs','c:/scinum')
load(file_dir/lib)
-->load('c:/scinum/lib')
DIFFERENSIASI NUMERIK
Persamaan differensial merupakan
model matematis yang paling sering
muncul dalam bidang keteknikan
maupun saintifik
Salah satu penyelesaiannya dengan
metode beda hingga (finite
difference)
f ' (x 0 )
f (x ) f (x 0 ) f (x ) f (x 0 )
=
h
x
dy
dx pada x = x0.
atau
f (x 0 + x) f (x 0 )
dy
x
dx x = x
0
atau
f (x 0 ) f (x 0 x)
dy
x
dx x = x
0
y i = y i + 12 y i 12
atau
y(x) = y(x+1/2 h) y(x-1/2 h)
Turunan beda terpusat selanjutnya adalah :
dy i
1
(y i+1 y i1 )
=
dx 2h
d 2 yi
1
(y i+1 2 y i + y i1 )
=
2
2
dx
h
d3 yi
1
(y i+ 2 2 y i+1 + 2 y i1 y i2 )
=
3
3
dx
2h
Penyelesaiannya dapat dituliskan
dy i
1
(y i+1 y i1 )
=
dx 2h
atau
f (x 0 + x) f (x 0 x)
dy
2x
dx x = x
0
x=x
f (x 0 + x) 2f (x 0 ) + f (x 0 x)
x 2
INTEGRASI NUMERIS
xn
f(x)
x0
x1
x2
xn-1
xn
x i = x 0 + i . x
x
f (x ) dx 2 f (x 0 ) + 2 f (x i ) + f (x n )
i=1
x0
xn
Simpson Rule
n 1
n 2
x
f (x) dx 3 f (x 0 ) + 4 f (x i ) + 2 f (x i ) + f (x n )
x
i=1,3,5
i=2,4,6
xn
AKAR PERSAMAAN
(PERSAMAAN NON LINIER)
[ Merupakan bentuk persamaan
1. METODE PENGURUNGAN
Dilakukan dengan menebak 2 angka
a. Metode Bisection (bagi dua)
b. Metode Regula Falsi (posisi palsu)
atau Metode Interpolasi Linier
6. Evaluasi akar xc
Hitung f(xc)
maka xc berada di subinterval
a. Jika f(xc).f(xa)>0,
kembali ke-4
bawah
Atur xa = xc
b. Jika f(xc).f(xa)<0,
maka xc berada di subinterval
kembali ke-4
atas
Atur xb = xc
c. Jika f(xb).f(xc)=0,
maka didapat harga akar yang
selesai
dicari: xc
f (x a )(x b x a )
xc = xa
f (x b ) f (x a )
2. METODE TERBUKA
Dilakukan dengan menebak 1 angka
a. Metode Pertemuan Dua Grafik
b. Metode Newton Raphson
c. Metode Secant
5.
6.
7.
8.
a.
Harga
b.
c.
Iterasi = iterasi + 1
f (x i )
f ' (x i )
x x iter 1
E as = iter
x iter
x iter = x i +1 = x i
c. Metode Secant
[ Kelemahan metode Newton Raphson,
harus mencari turunan pertama dari
fungsi f(xi)
[ Metode secant untuk menghindari
turunan pertama dengan turunan
numerik mundur
f (x i 1 ) f (x i )
f ' (x i ) =
x i 1 x i
x 2 + xy = 10
y + 3xy 2 = 57
f1 (x, y ) = x 2 + xy 10 = 0
f 2 (x, y ) = y + 3xy 2 57 = 0
Contoh :
a V b
P +
V 2
) = RT
PERSAMAAN DIFERENSIAL
1.
T T
2 =
t
x
2
dy
+ y = kx
dx
d2y
dy
+
= kx
y
dx
dx 2
d2y
d3y
dy
b
+
a
+
= kx
dx 2
dx 3
dx
C
C
=0
x
y
2C
C
+ De
=0
2
y
x
u
2 u u
3 +
=0
+
xy y
x
3
Penyelesaian Persamaan
Diferensial Biasa (ODE)
1. Metode Euler (Eksplisit)
2. Metode Euler Modifikasi (Implisit)
3. Metode Runge-Kutta
Kondisi awal
y i +1
x i +1
yi
xi
dy =
: y(x0) = y0
f (x, y) dx
y i +1 y i =
y i +1 = y i + h f (x i , y i )
x i +1
f (x, y ) dx
xi
dy
= 4x 3 6x 2 + 8
dx
xi
yanaltk
yeuler
% kslhan
0.5
5.81
3.27
9.5
5.56
1.5
12.31
12.5
1.54
18
16.5
8.33
2.5
29.81
24.5
17.81
53
41
22.64
Tentukan x = x0 dan y = y0
Tentukan nilai awal x0 dan nilai akhir xa
dari variabel bebas
3. Tentukan nilai h
4. Inisialisasi i = 0
5. Buat persamaan f(x,y), modul terpisah
6. Vektor x(i)=[x0, x0+h, x0+2h,,xa]
7. Jumlah loop, n=(xa-x0)/h
8. Untuk i=0 sampai n-1 maka :
9. yi+1=yi + hf(xi,yi)
10. x = x + h
11. Simpan nilai xi, yi
12. Lanjutkan i
[ sehingga
y i +1 = y i + y i +1
y i +1 = y i + h f (x i +1 , y i +1 )
(y i+1 )pred = y i + h f (x i , y i )
fpred
(y i+1 )kork
= y i + h f x i +1 , (y i +1 )pred
fcorr
y i +1 = y i + 12 (y i + y i +1 )
fcorr
yanaltk
yeuler
% kslhan
Euler
yeuler-mod
% kslhan
Euler-mod
0.5
5.81
3.27
5.75
1.03
9.5
5.56
0.0
1.5
12.31
12.5
1.54
12.5
1.54
18
16.5
8.33
18.5
2.78
2.5
29.81
24.5
17.81
30.75
3.15
53
41
22.64
54.5
2.83
3. Metode Runge-Kutta
[ Merupakan
metode
untuk
menyelesaikan
persamaan
diferensial dengan ketelitian dan
kestabilan yang cukup tinggi.
[ Sangat umum digunakan untuk
menyelesaikan bentuk PDB baik
linear maupun non linear dengan
problema kondisi awal
k 2 = h f x i + , yi + 1
2
2
k 1 = h f (x i , y i )
k
h
k 2 = h f x i + , yi + 1
2
2
k 3 = h f (x i + h , y i + 2k 2 k 1 )
y i +1 = y i + 16 (k 1 + 2k 2 + 2k 3 + k 4 )
k
h
k 3 = h f x i + , yi + 2
2
2
k 4 = h f (x i + h, y i + k 3 )
%
kslhan
Eulermod
yrk4
%
kslhan
rk4
xi
yanaltk
yeuler
%
kslhan
Euler
0.5
5.8125
3.27
5.75
1.03
5.8125
9.5
5.56
0.0
1.5
12.3125
12.5
1.54
12.5
1.54
12.3125
18
16.5
8.33
18.5
2.78
18
2.5
29.8125
24.5
17.81
30.75
3.15
29.8125
53
41
22.64
54.5
2.83
53
dy
= fungsi
dt
Dimana :
y0 = kondisi awal dari variabel tak bebas (y)
t0 = kondisi awal dari variabel bebas (t)
t = batasan simulasi dari variabel bebas
1
6
(k
1j
+ 2k 2 j + 2k 3 j + k 4 j )
k 2, j = hf j x i + , y i ,1 +
, ... , y i ,n +
, y i,2 +
2
2
2
2
k 2,n
k 2, 2
k 2,1
k 3, j = hf j x i + , y i ,1 +
, ... , y i ,n +
, y i,2 +
2
2
2
2
y i +1, 2 = y i , 2 + 16 (k 1, 2 + 2k 2, 2 + 2k 3, 2 + k 4, 2 )
dimana :
k 1,1 = hf 1 (x i , y i ,1 , y i , 2 )
k 1, 2 = hf 2 (x i , y i ,1 , y i , 2 )
k 1,1
k 1, 2
k 2,1 = hf 1 x i + , y i ,1 +
, y i,2 +
2
2
2
k 1,1
k 1, 2
k 2, 2 = hf 2 x i + , y i ,1 +
, y i,2 +
2
2
2
k 2,1
k 2, 2
k 3,1 = hf 1 x i + , y i ,1 +
, y i,2 +
2
2
2
k 2, 2
k 2,1
, y i,2 +
k 3, 2 = hf 2 x i + , y i ,1 +
2
2
2
k 4,1 = hf 1 (x i + h, y i ,1 + k 3,1 , y i , 2 + k 3, 2 )
k 4, 2 = hf 2 (x i + h, y i ,1 + k 3,1 , y i , 2 + k 3, 2 )
y1 = 4;
y2 = 2
Contoh :
Dua buah tangki air tersambung secara seri dan saling
berinteraksi. Kecepatan aliran keluar merupakan fungsi akar
kuadrat dari ketinggian air, jadi untuk tangki 1 kecepatan
alirannya adalah h1 h 2 sedangkan untuk tangki 2 sebagai
fungsi h 2 . Akan ditentukan ketinggian h1 dan h2 sebagai fungsi
waktu dari t = 0 sampai t = 40 menit dengan interval 4 menit.
Setelah disusun neraca bahan, diperoleh persamaan diferensial
simultan sebagai fungsi waktu :
dh1 F 1
h h
=
dt A1 A1 1 2
2
dh 2 2
=
h h
h2
dt A 2 1 2 A
2
Bi
o
P i = exp A i
x =1
T + Ci dengan i = 1, 2, 3 dan i
xi =