MODUL PELATIHAN MATLAB METODE NUMERIK MENGGUNAKAN MATLAB
Disusun oleh: Dani Puji Utomo
Isi: Modul 1. Dasar-dasar Matlab Modul 2. Akar-akar Persamaan Nonlinier
Modul 1. Dasar-dasar Matlab
1. Bilangan dan Operator matematika dalam MATLAB Terdapat tiga tipe bilangan di MATLAB, yaitu:
Bilangan bulat (integer) contoh 1, 2, 10, 200, 5000
Bilangan real, contoh 2.1, 3.14, 0.011, 200.35
Bilangan kompleks, contoh a+bi
Matlab juga mempunyai variable yang bukan merupakan bilangan yang dilambangkan dengan: -inf
: -infinity -infinity
inf
: infinity infinity
NaN
: not a number
Daftar operasi aritmatika dasar dalam Matlab +
: Penjumlahan
-
: Pengurangan
*
: Perkalian
/
: Pembagian
\
: Pembagian kiri
^
: Pangkat
‘
: Transpose
() : Kurung .* : Perkalian elemen matriks ./
: Pembagian elemen matrks
2. Penulisan Matriks di Matlab Penulisan matriks dalam Matlab adalah dengan menggunakan kolom siku “[]” dan untuk memisahkan elemen matriks digunakan tanda koma (,) atau spasi untuk memisahkan elemen dalam 1 baris, dan tanda t itik koma (;) digunakan untuk memisahkan elemen matriks matriks dalam 1 kolom.
t
Matriks tansposisi (matriks )
Menggunakan tanda petik atas (‘) untuk untu k mentranspose suatu matriks
Menentukan ukuran matriks
Menentukan determinan matriks
Menentukan invers matriks
Perhitungan invers matriks A menggunakan Matlab memunculkan peringatan di atas menenjukkan bahwa matriks A adalah matriks singular. Hal ini dapat kita ketahui dengan melihat nilai determinan berharga nol atau mendekati nol dapat dipastikan matriks A adalah matriks singular. Membuat data vector baris dengan selisih 1
Membuat data vector baris dengan selisih n
Membuat vector baris dengan jumlah data tertentu
3. Aljabar matrik Penjumlahan dan pengurangan matrik
Hanya dapat dilakukan jika matrik memiliki orde yang sama.
Perkalian matriks
Syaratnya jumlah kolom matriks A sama dengan jumlah baris matriks B
Pembagian matriks kanan
XA=C -1
X=CA
X=C/A
Pembagian matriks kiri
AX=C -1
X= A C X=A\C
Perkalian dan pembagian elemen matriks
Contoh
4. Membuat string dan display karakter Membuat display karakter disp('karakter yang diinginkan' )
Menampilkan nilai variable menggunakan string format Gunakan fungsi “fprintf” dan “sprintf”
Format tampilan bilangan Simbol
Karakter khusus
Arti
Simbol
Arti
%d
Bilangan bulat
/n
Pindah ke baris baru
%f
Bilangan pecahan
/t
Geser sebanyak 1 tab
%o
Bilangan octal
%x, %X
Bilangan hexadecimal
%e, %E
Bilangan a x 10
Contoh perintah
Angka 5.3 menunjukkan menyediakan ruang untuk 5 digit dengan 3 desimal Perintah yang sama dapat pula menggunakan “sprint”, bedanya adalah dengan fprintf adalah pada sprint hasil outputnya adalah standard output.
Modul 2. Metode Numerik Menggunakan Matlab
1. Akar-akar persamaan non linear
Contoh grafik persamaan nonlinier
Berikut adalah beberapa contoh Persamaan Nonlinier Jenis persamaan nonlinier
Contoh
Persamaan kuadrat
X -4x+3=0
Persamaan Polinomial
X +6x +7x -6x-8=0
Persamaan Transenden
Sinx-2exp(-x )=0
Persamaan Logaritmik
ln(1+x )-2exp(-x )=0
a. Metode Iterasi sederhana
Metode ini adalah metode paling sederhana dalam menyelesaikan persoalan persamaan nonlinier, namun memerlukan jumlah iterasi yang lebih panjang, selain itu kadang hasil tidak konvergen. Algoritma penyelesaiannya adalah
Buat fungsi nonlinier x=f(x)
Masukkan tebakan tidak Sesuai toleransi? ya Selesai
Contoh: x
Menyelesaikan persamaan x+e =0, ubahlah persamaan menjadi x=g(x) x=-e
x
buat lining program pada Matlab 1. Buat fungsi pada M file untuk fungsi asli f(x)=0 dan d iberi nama fungsi.m
2. Buat fungsi pada M file untuk fungsi g(x)=x dan diberi nama fungsig.m
3. Buat program eksekusi pada M-file sesuai algoritma
4. Hasil run program
Hasil diperoleh nilai x yang sesuai adalah -0,5711 dengan error sebesar 0.0063 Latihan: Selesaikanlah dengan metode iterasi sederhana: 1. x^2+5x-2^x+7=0 x
2. e +2x=0 5/x
3. 20e +8=0
b. Metode Setengah Interval Merupakan metode dengan tebakan dua arah, metode ini disebut juga metode bisection. Langkah penyelesaiannya adalah sebagai berikut: 1) Hitung fungsi pada interval yang sama dari x sampai perubahan tanda dari f(xi) dan f(xi+1), yaitu apabila f(xi)xf(xi+1)<0. 2) Perkirakan pertama dari akar xt dihitung dari rata-rata xi dan xi+1
3) Buat evaluasi berikut untuk menentukan subinterval mana akar persamaan berada.
Jika f(xi)xf(xt)<0, akar persamaan berada pada sub interval pertama, kemudian tetapkan xi+1=xt dan lanjut langkah 4.
Juka f(xi)xf(xi+t)>0, akar berada pada subinterval kedua, kemudian tetapkan xi=xt dan lanjut pada langkah ke 4
Jika f(xi)x(fxt)=0, akar persamaan adalah xt dan hitungan selesai.
4) Hitung perkiraan baru dari akar dengan cara berikut
Algoritma metode bisection X1=tebakan1 X2=X1+dX FX=F(X1).F(X2)
Y FX>0?
N Y
FX=0?
N Hitung Xt
FX=F(Xx).F(X1)
Y FX>0?
N
X1=Xt FXt=F(X1)
X2=Xt FXt=F(X2)
N
Error
Y Selesai
Contoh penyelesaian:
Menggunakan persamaan seperti dalam contoh iterasi sederhana dalam file fungsi.m
Buat lining program sebagai berikut clear clc a=input('masukkan tebakan= '); dx=input('masukkan interval= '); b=a+d; fa=fungsi(a); fb=fungsi(b); if fa*fb>0; break end Etolr=input('masukkan toleransi= ' ); Ea=1.1*Etolr;
i=0; imax=input('masukkan maksimum iterasi= ' ); disp(' i a b x fx E '); disp('____________________________________' ); while Ea>Etolr & i0 a=x; else b=x; end Ea=abs(a-b); disp(sprintf('%3.0f %6.4f %6.4f %6.4f %8.5f %10.6f\n' ,i,a,b,x,fx,Ea)) ; end disp(sprintf('Hasil Akar= %11.8f',x))
Hasil run program
Selesaikanlah dengan setengah interval: 1. x^2+5x-2^x+7=0 x
2. e +2x=0 5/x
3. 20e +8=0
c. Metode Interpolasi Linier Metode ini dikenal juga dengan metode false position. Dengan metode ini nilai dari suatu fungsi dapat diketahui lebih cepat dari pada metode sebelumnya. Metode interpolasi linier didasarkan pada interpolasi antara dua nilai dari fungsi yang mempunyai tanda berlawanan. Persamaan untuk menentukan x baru:
Algoritma penyelesaian ditampilkan pada blok diagram berikut:
Hitung fungsi untuk interval ΔX yang sama sehingga didapat f(Xi) dan F(Xi+1) dengan tanda yang berbeda
Hitung X* dan F(X*)
Y
Apakah F(X*) dan F(Xi) bertanda sama?
Xi+1=X* F(Xi+1)=F(X*)
N
Xn=X* F(Xi)=F(X*)
Apakah F(X*) kecil?
N
Y
Selesai
Contoh penyelesaian:
Menggunakan persamaan seperti dalam contoh iterasi sederhana dalam file fungsi.m
Buat lining program sebagai berikut clear clc a=input('masukkan tebakan bawah= ' ); dx=input('masukkan interval x= ' ); b=a+dx; fa=fungsi(a); fb=fungsi(b); if fa*fb>0 break end Etolr=input('masukkan toleransi= ' ); Ea=1.1*Etolr; i=0; imax=30; disp(' i a b x fx E '); disp('_________________________________________________' ); while Ea>Etolr & i0 b=xb; else a=xb; end Ea=abs(a-b); disp(sprintf('%3.0f %6.4f %6.4f %6.4f %8.5f %10.6f\ n’... ,i,a,b,xb,fxb,Ea)) end disp(sprintf('Hasil Akar= %11.8f',xb))
Hasil run program
Selesaikanlah dengan setengah Interpolasi Linier: 1. x^2+5x-2^x+7=0 2. ex+2x=0 5/x
3. 20e +8=0
d. Metode Newton Raphson Metode Newton Raphson merupakan metode penyelesaian persamaan nonlinier secara numeric hasil pengembangan deret Taylor. Untuk penyelesaiannya menggunakan satu tebakan saja. Nilai x baru pada Newton-Raphson didefinisikan sebagai berikut:
Keuntungan menggunakan metode ini adalah mempu mencapai konvergensi yang lebih cepat namun membutuhkan persamaan turunannya. Algoritma penyelesaian Newton-Raphson Tentukan F(Xi) Tentukan F (Xi)
Masukkan tebakan X0
Hitung nilai Xi+1
Apakah Xi+1 = Xi?
N
Y Selesai
Contoh penyelesaian:
Menggunakan persamaan seperti dalam contoh iterasi sederhana dalam file fungsi.m
Buat lining program sebagai berikut clear clc syms x; disp ('..........Newton-Raphson.........' ); f = fungsi(x); xi = input('masukkan tebakan = ' ); et = input('eror toleransi: '); i=0;
xb=0; e=abs(xb-xi); disp(' i xi f dfa e'); disp('--------------------------------' ); while e > et fa=subs(f,x,xi); df=diff(f); dfa=subs(df,x,xi); xb=xi-(fa/dfa); fprintf('%3.0f %6.4f %6.4f %6.4f %7.4f\n' ,i,xi,fa,dfa,e); e=abs(xb-xi); xi=xb; i=i+1; end disp(sprintf('Hasil Akar= %11.8f',xb))
Hasil run program
Selesaikanlah dengan Metode Newton-Raphson: 1. x^2+5x-2^x+7=0 x
2. e +2x=0 5/x
3. 20e +8=0
e. Metode Secant Metode secant adalah metode yang disusun untuk menyelesaikan permasalahan yang ada pada metode Newton-Raphson yaitu keharusan mencari turunan pertama dari fungsi yang dicari. Pada metode ini turunan pertama merupakan numeric mundur yang dinyatakan dengan:
Dengan mensubstitusi pada persamaan Newton Raphson diperoleh persamaan:
Tentukan F(Xi)
Masukkan tebakan Xi-1 dan Xi
Hitung nilai Xi+1
Apakah Xi+1 = Xi?
N
Y Selesai
Contoh penyelesaian:
Menggunakan persamaan seperti dalam contoh iterasi sederhana dalam file fungsi.m
Buat lining program sebagai berikut clear clc syms x; f=inline(fungsi(x)); x0=input('masukkan xo= '); x1=input('masukkan x1= '); Etol=input('masukkan error toleransi Etol= ' ); i=1; disp(' i xi f(xi) '); disp('_______________________' ); while abs(f(x1))>Etol x2=x1-(f(x1)*(x1-x0)/(f(x1)-f(x0))); disp(sprintf( '%3.0f %7.4f %7.4f\n',i,x2,f(x2))); x0=x1; x1=x2; i=i+1; end disp('___________________________________________' ) disp(sprintf('Nilai Akarnya adalah = %10.8f\n' ,x2))
Hasil run program
Selesaikanlah dengan Metode Newton-Raphson: 1. x^2+5x-2^x+7=0 x
2. e +2x=0 5/x
3. 20e +8=0
Soal Latihan. Kerjakanlah dengan semua metode di atas
1. Persamaan Soave-Redlich-Kwong merupakan persamaan keadaan yang digunakan untuk mempridiksi property dari suatu senyawa yang tidak dapat diprediksi menggunakan persamaan gas ideal. Gas etana yang bertekanan 15 bar dan bersuhu 180°C, dengan menggunakan persamaan Soave-Redlich-Kwong tentukan: a. Volume gas etana b. Harga Z Persamaan keadaan Soave-Redlich-Kwong adalah sebagai berikut:
Dengan:
2 0,5 2 α={1+(0,48508+1,55171ω-0,15613ω )(1-Tr )} …… (4)
Ao = 0,42748 Bo = 0,08664 ω = 0,098 Tc = 305,4 K Pc = 48,8 bar
2. Bijih pirit (FeS) akan direaksikan dengan gas oksigen menggunakan reactor fluidized bed pada suhu 900°C tekanan 1 atm dengan konversi 96%. Gas oksigen yang digunakan memiliki kemurnian 70% mol. reaksi yang terjadi adalah 2FeS(s) + 7/2O2(g)
F2O3(s) +
2SO2(g)
diketahui data-data sebagai berikut : densitas pyrite
= 5,4 gr/cm3
jari-jari partikel (R)
= 70µm
konstanta reaksi (k) BM pyrite
= 3,4 min-1
= 88 gr/mol
jika kinetika reaksi berjalan sesuai dengan reaksi orde satu dan ash resistance controlling , tentukan : a. waktu tinggal reactor (t) b.
3
Volume reactor jika flowrate umpan 10 m /menit.
Persamaan yang digunakan :
3
ρ b : densitas molar (mol/m ) b
: koefisien reaksi reaktan gas 3
CAg : konsentrasi gas (mol/m )
3. Reaksi Steam Reforming berlangsung menurut reaksi berikut: CH4(g) + H2O(g) CO(g) + 3H2(g) Pada suhu 2000 K harga konstanta kesetimbangan reaksi adalah 5,528. Tentukan konversi gas methanepada kondisi tersebut, dan tentukan komposisi kesetimbangan komponenkomponen apabila Gas umpan komposisi 20% CH4(g) dan 80% H2O(g) berada pada kondisi suhu 2000 K dan tekanan 4 atm.
4. Suatu reaksi elementer A
B + C berlangsung dalam sebuah reaktor alir tangki
berpengaduk (RATB). Laju umpan murni A, 12 mol/s pada temperature 25C. reaksi bersifat eksotermik, untuk itu digunakan air pendingin bertemperatur 50C untuk menyerap kalor yang dibebaskan reaksi. Asumsi konstanta kapasitas panas sama baik disisi reaktan maupun produk, neraca panas untuk system ini dirumuskan sebagai berikut:
FA0
= laju molar umpan, mol/s
X
= konversi
ΔHR = Kalor reaksi, J/mol.K CpA = kapasitas panas A, J/mol.K T
= temperature reaktor
T0
= Temperatur referensi, 25C
Ta
= Temperatu air pendingin, C
A
= Luas perpindahan panas, m
2
Untuk reaksi orde pertama konversi dirumuskan sebagai
Dengan τ adalah waktu tinggal dan k adalah konstanta laju reaksi dihitung menggunakan persamaan arhenius
Hitunglah harga temperature reaktor dan konversinya! (ΔHR = -1500 kJ/mol; τ=10 s; CpA = 4500 J/mol.K; UA/FA0 = 700 W.s/mol.K)
MODUL PELATIHAN MATLAB METODE NUMERIK MENGGUNAKAN MATLAB
Disusun oleh: Dani Puji Utomo
Isi: Modul 3. Akar-akar Persamaan Nonlinier Menggunakan Subrutin MATLAB
Modul 3. Akar-akar persamaan non linier menggunakan subrutin MATLAB
1. Subrutin roots dan fzero
MATLAB telah menyediakan subprogram untuk menyelesaikan persamaan non linier tunggal yang telah menyatu dengan program MATLAB itu sendiri. Secara umum ada dua jenis subrutin, yaitu roots dan fzero. Rutin
roots.m
Keunggulan
Kelemahan
Seluruh akar dapat diketahui
Hanya untuk persamaan kuadrat
dengan
dan polynomial.
hanya
sekali
menjalankan rutin.
Tidak membutuhkan tebakan terlebih dahulu.
fzero.m
Dapat mencari akar persamaan
Hanya satu buah akar yang
segala jenis persamaan non linier
dapat diketahui dalam sekali menjalankan rutin.
Membutuhkan terlebih dahulu.
Contoh penggunaan: 1. Program roots.m Penulisan perintah roots di command
window MATLAB
Jika persamaan C(1)*xn+…+C(n)*x+C(n-1) Buat matriks dari koefisiennya A=[C(1) C(2) … C(n) C(n+1)] roots(A) contoh: Menyelesaikan persamaan polynomial x3+3x2-5x+9=0 MATLAB
Command window
tebakan
Hasilnya adalah 3 akar dengan dua akar bilangan imajiner. 2. Program fzero.m Penulisan fzero di MATLAB command window X=fzero(‘fungsi’,x0) X0 adalah tebakan awal. Contoh: Menyelesaikan persamaan x+ex=0
Eksekusi menggunakan fzero pada
command window
2. Subrutin fsolve
MATLAB juga menyediakan subprogram untuk menyelesaikan persamaan nonlinier yang lebih fleksible dan dapat menyelesaikan lebih dari 1 persamaan, yaitu menggunakan fsolve Step 1. Buat terlebih dahulu fungsi system persamaan nonlinier pada m-file. Step 2. Buat program pengeksekusi menggunakan m-file yang berbeda atau dapat juga di command window
Step 3. Jalan program pengeksekusi.
Contoh: Selesaikan persamaan berikut: X3-3xy2 = 0,5 3x2y-y3 = 3/2 Buat fungsi untuk persamaan non linier pada m-file dan diberi nama persnonlin.m
Buat fungsi pada m-file lain dan diberi nama subrutin.m
Eksekusi pada
command window
Atau bisa langsung pada
command window tanpa
membuat m-file subrutin.m
LATIHAN
1. Selesaikan menggunakan roots.m Tekanan uap n-butana pada temperature 350 K adalah 9,4573 bar. Hitunglah volume molar uap jenuh dan cair jenuh n-butana pada kondisi tersebut dengan menggunakan persamaan gas Van der Waals. (R=8.314 J/mol.K; Tc=425,1; Pc=37,96 bar).
2. Selesaikan menggunakan fzero.m Diketahui sebuah persamaan kapasitas panas sebagai berikut:
Tentukan temperature saat Cp=1kJ/kg.K 3. Selesaikan menggunakan fsolve.m Reaksi steam reforming berlangsung menurut rengkaian reaksi kesetimbangan berikut: CH4 + H2O CO + 3H2 CO + H2O CO2 + H2 Pada suhu 2000 K harga konstanta kesetimbangan untuk masing-masing reaksi adalah 1,930x10 -4 dan 5,528. Tentukan komposisi kesetimbangan komponen-komponen apabila gas umpan berkomposisi 20% CH 4 dan 80% H 2O berada pada kondisi suhu 2000 K dan tekanan 1 atm.
MODUL PELATIHAN MATLAB METODE NUMERIK MENGGUNAKAN MATLAB
Disusun oleh: Dani Puji Utomo
Isi: Modul 4. Sistem Persamaan Linier Simultan
Modul 4. Sistem Persamaan Linier Simultan
Persamaan linier merupakan persamaan yang variable bebasnya mempunyai orde satu. Namun apabila persamaan tersebut lebih dari satu dan akan diselesaikan sekaligus atau bersamaan, maka persamaan tersebut disebut system persamaan simultan. Jadi, suatu system persamaan dengan n buah persamaan, dengan t iap persamaan yang merupakan fungsi dari x 1, x2,…,x3, dapat ditulis dalam bentuk: a11x1 + a12x2 + … + a1nxn = c1 a21x1 + a22x2 + … + a2nxn = c2 …
…
…
…
…
an1x1 + an1x2 + … + annxn = cn Variable x1, x2, hingga xn dapat dicari secara bersamaan menggunaan metode matriks. Ada beberapa metode numeric menggunakan matriks yang dikembangkan untuk menyelesaikan persamaan linier simultan, yaitu: metode Eliminasi Gauss, Metode Gauss Jordan, Metode Iterasi Jacobi, dan metode matriks biasa. 1. Metode Eliminasi Gauss
Metode ini cukup baik dalam menyelesaikan persamaan linier. Pada metode ini, persamaan linier diubah menjadi matriks seperti contoh berikut: a11x1 + a12x2 + a13x3 = c1 a21x1 + a22x2 + a23x3 = c2 a31x1 + a32x2 + a33x3 = c3 menjadi
Selanjutnya matriks di atas diubah sehingga menjadi elemen dibawah diagonal nilainya sama dengan nol.
Pada eliminasi gauss tahap ini disebut tahap eliminasi maju ( Forward Selanjutnya tahap berikutnya adalah substitusi balik ( Back persamaan berikut:
substitution)
elimination).
dengan bentuk
Contoh kasus:
Tentukanlah variable bebas dari persamaan simultan berikut ini: -12x + y – 8z = -80 x – 6y +4z = 13 -2x – y + 10 = 90 Buat lining program pada m-file sebagai berikut:
Hasil eksekusi programnya adalah sebagai berikut:
2. Metode Gauss-Jordan
Metode Gauss Jordan hampir sama dengan metode Eliminasi Gauss, hanya saja matriks elemen A diubah menjadi matriks identitas.
diubah menjadi:
Dengan demikian metode ini tidak melalui proses substitusi balik ( back sehingga lebih sederhana daripada metode eliminasi gauss. Contoh kasus: Tentukanlah variable bebas dari persamaan simultan berikut ini: -12x + y – 8z = -80 x – 6y +4z = 13 -2x – y + 10 = 90 Buat lining program pada m-file sebagai berikut:
substitution )
Hasil eksekusi program adalah sebagai berikut:
3. Metode Jacobi
Metode Jacobi adalah salah satu metode untuk menyelesaikan persamaan simultan dengan metode iterasi. Metode ini biasanya digunakan untuk system persamaan dengan banyak elemen matriks yang bernilai nol. Sebagai gambaran penyelesaian persamaan, kita gunakan tiga persamaan linier berikut: a11x1 + a12x2 + a13x3 = c1 a21x1 + a22x2 + a23x3 = c2 a31x1 + a32x2 + a33x3 = c3 Kemudian nilai x1 akan dihitung menggunakan persamaan pertama, x 2 menggunakan persamaan kedua, dan x3 menggunakan persamaan ketiga, seperti berikut:
Nilai awal dari metode ini pada umumnya adalah nol, namun tidak ada ketentuan untuk menentukan nilai nol. Bandingkan nilai hasil perhitungan iterasi yang berlangsung dengan nilai perhitungan iterasi yang sebelumnya. Perbandingan tersebut dapat dinyatakan sebagai error yang sudah ditentukan terlebih dahulu toleransinya sebagai parameter penghentian iterasi. Contoh kasus: Tentukanlah variable bebas dari persamaan simultan berikut ini: -12x + y – 8z = -80 x – 6y +4z = 13 -2x – y + 10 = 90 Buat lining program pada m-file sebagai berikut:
Hasil eksekusi program adalah sebagai berikut:
4. Metode Matriks
Metode matriks adalah metode untuk menyelesaikan persamaan linier dengan memanfaatkan invers dari suatu matriks. Persamaan linier diubah menjadi bentuk matriks seperti berikut:
A
X
C
Secara matematika dapat dijabarkan sebagai berikut: AX=C Kedua ruas dikalikan dengan invers A A-1 A X = A -1 C Perkalian suatu matriks dengan inversnya akan mengubahnya menjadi matriks identitas I I X = A-1 C Hasil perkalian suatu matriks dengan matriks identitas hasilnya adalah matriks itu sendiri. -1
X = A C Contoh kasus: Tentukanlah variable bebas dari persamaan simultan berikut ini: -12x + y – 8z = -80 x – 6y +4z = 13 -2x – y + 10 = 90 Buat lining program pada m-file atau bisa langsung pada
command window.
Hasil eksekusi program
LATIHAN
1. Hubungan parameter-parameter transfer massa dapat dinyatakan dengan bilangan tak berdimensi. Diketahui data percobaan sebagai berikut : Sherwood
Reynold
Schmitd
1
43.7
10800
0.6
2
21.5
5290
0.6
3
24.2
3120
1.8
Persamaan transfer massa : Sh = K1 + ReK2 + ScK3 Tentukan K1, K2, K3 !
2. Reaksi fase gas nitrogen dengan oksigen mempunyai daftar kontanta kecepatan reaksi sebagai berikut : T (K)
k
300
7,8
450
5.34
570
3.75
Jika k sesuai dengan persamaan k=A*Tm*exp(-E/T) Tentukan nilai A, m, dan E
3. Reaktor fluidisasi menggunakan beberapa katalis padat,berikut data-data sifat katalis: µ(lbm/ft.s)
µ
,
Dp (ft)
ρ(lbm/cuft)
Re
V(ft/s)
Dp
,
ρ
,
350,4
16,7
µ
,
Dp
,
ρ
,
522,74
21,8
µ
,
Dp
,
Ρ
,
983,48
35,2
Hubungan sifat-sifat tersebut dinyatakan sebagai Persamaan Bilangan Reynold
Hitung nilai ρ, µ, Dp!
4. Menara distilasi yang bekerja pada tekenan 1 atm dirancang untuk memisahkan 10.000 lb/jam larutan 40% berat etanol dalam air hingga diperoleh 3(tiga) macam produk masing-masing dengan kemurnian 90% ;66% dan 5% berat etanol. Produk dengan kemurnian 66% berat etanol diambil dengan laju 2000 lb/jam. Sebagai pemanas digunakan steam pada 310 0F yang dimasukan langsung melalui dasar kolom. Jika umpan masuk kolom pada suhu 60 0F sedangkan perbandingan refluk yang digunakan=2 saudara diminta : a. Menghitung laju alir destilat(D) b. Menghitung laju alir residu(W) c. Menghitung laju alir steam(S) P-1
V1 P-3
-qc
P-2 P-6 P-4
Lo (1)
D
XD=0.90 I=2000 lb/jam XI=0.66 HI=115 Btu/lb
∆1 (i) ∆2 F=10.000 lb/jam XF=0.40 0 TF=60 F HF=10 Btu/lb
P-7
∆3 (N) W XW=0.05 HW=165 Btu/lb
S 0 TS=310 F HS=1182 BTU/LB
E-2 P-9
P-10
MODUL PELATIHAN MATLAB METODE NUMERIK MENGGUNAKAN MATLAB
Disusun oleh: Dani Puji Utomo
Isi: Modul 5. Persamaan Differensial Biasa
Modul 5. Persamaan Differensial Biasa
Persamaan diferensial biasa adalah persamaan diferensial yang terdiri atas fungsi turunan dan satu variable bebas. Bentuk umum:
Aplikasi PDB banyak ditemukan pada kasus permodelan berbagai fenomena khususnya dalam bidang teknik kimia misalnya permodelan reaktor, kinetika reaksi, dan fenomena perpindahan. Klasifikasi PDB berdasarkan ordenya terdiri atas tiga jenis (paling umum ditemukan dalam permasalahan teknik kimia).
Berdasarkan jenis persamaan, PDB dibagi menjadi dua jenis yaitu: 1. Linier Persamaan umum PDB linier dirumuskan sebagai berikut
2. Tak linier
PDB yang tidak memenuhi persamaan umum PDB linier maka dikelompokkan dalam PDB tak linier. A. Penyelesaian PDB secara Numerik
Salah satu penyelesaian dengan numeric yang paling sederhana untuk persamaan diferensial orde satu dengan permasalahan kondisi awal yang diketahui adalah metode euler. Akan tetapi metode ini memiliki simpangan yang cukup besar jika dibandingkan dengan metode analitis. 1. Metode Euler
Metode euler merupakan metode yang menjadi dasar dalam penyelesaian PDB orde satu. Metode ini juga sering disebut dengan metode integrasi nilai awal. Dasar penyelesaian metode ini adalah metode beda tak hingga. 1
Bentuk persamaan umum untuk metode euler adalah sebagai berikut.
Dengan
Δx
sebagai interval variable bebas, semakin kecil nilai
Δx
maka semakin
kecil pula kesalahannya, karena metode ini dasarnya adalah beda tak terhingga. Contoh penyelesaian:
Tentukan nilai y saat x = 3, dengan criteria saat x=0, y=2, selesaikanlah dengan metode euler dan nilai
Δx=0,1.
Penyelesaian: Buat fungsi untuk persamaan pada m-file dan diberi nama file pdbfile.m
Buat program metode euler pada m-file dan diberi nama euler. m
Eksekusi program dengan memasukkan criteria penyelesaian, dapat dilakukan langsung di command window atau di editor.
2
Hasil run menggunakan metode ini:
60
50
40
30
20
10
0 0
0.5
1
1.5
2
2.5
3
2. Metode Euler Modifikasi
Metode euler modifikasi dikembangkan untuk memperkecil kesalahan pada metode euler. Metode ini juga disebut metode euler implicit. Metode tersebut merupakan gabungan dari metode beda terhingga maju dengan metode beda terhingga mundur. Pada kasus untuk memperbaiki metode euler, maka metode euler biasa digunakan untuk memprediksi nilai y i+1.
Hasil perdiksi pada persamaan di atas digunakan untuk mengoreksi metode implicit.
3
Kombinasi metode beda maju dan mundur dapat dituliskan sebagai berikut:
Contoh penyelesaian:
Tentukan nilai y saat x = 3, dengan criteria saat x=0, y=2, selesaikanlah dengan metode euler dan nilai
Δx=0,1.
Buat fungsi untuk persamaan pada m-file dan diberi nama file pdbfile.m
Buat program metode euler modifikasi pada m-file dan diberi nama eulmod.m
Eksekusi program dengan memasukkan criteria penyelesaian, dapat dilakukan langsung di command window atau di editor.
4
Hasil run menggunakan metode ini
60
50
40
30
20
10
0 0
0.5
1
1.5
2
2.5
3
3.5
3. Metode Runge Kutta
Metode runge kutta merupakan metode untuk menyelesaikan persamaan diferensial biasa dengan ketelitian dan kestabilan yang cukup tinggi. Metode ini sangat umum digunakan untuk menyelesaikan bentuk persamaan diferensial biasa, baik linear maupun nonlinear dengan permasalahan kondisi awal. Bentuk penyelesaian metode Runge Kutta dilakukan berdasarkan orde, umumnya ada tiga orde yang sering digunakan yaitu: 1. Orde dua
5
Dengan nilai k:
2. Orde tiga
Dengan nilai k:
3. Orde empat
Dengan nilai k:
Pada metode Runge Kutta, semakin tinggi ordenya maka semakin tinggi pula ketelitiannya. Di sisi lain parameter yang diperlukan juga semakin banyak. Pada umumnya, penyelesaian persamaan differensial biasa akan menggunakan metode Runge Kutta orde 4. Contoh penyelesaian:
Tentukan nilai y saat x = 3, dengan criteria saat x=0, y=2, selesaikanlah dengan metode Runge Kutta dan nilai
Δx=0,1.
6
Buat fungsi untuk persamaan pada m-file dan diberi nama file pdbfile.m
Buat program metode Runge Kutta modifikasi pada m-file dan diberi nama rungkut4.m
Eksekusi program dengan memasukkan criteria penyelesaian, dapat dilakukan langsung di command window atau di editor.
7
Hasil run menggunakan metode ini:
60
50
40
30
20
10
0 0
0.5
1
1.5
2
2.5
3
B. Penyelesaian PDB menggunakan Subrutin ode23 dan ode45
Matlab juga telah menyediakan subrutin atau subprogram untuk menyelesaikan persoalan-persoalan persamaan differensial. Pada umumnya program yang sering digunakan adalah perintah ode23 dan ode45. Penggunaannya sama saja antara ode23 dan ode45 hanya saja ode45 biasanya digunakan untuk persamaan differensial dengan stiffness tinggi (kesukaran). Aturan penulisan menggunakan ode23 atau ode45 y=ode45( fungsi ,x0,xa,y0) ‘
’
8
Atau y=ode45(@fungsi,x0,xa,y0)
Model penulisan lain dengan menggunakan input vector xspan=[x0:dx:xa] y=ode45(@fungsi,xspan,y0)
atau xspan=[x0 xa] y=ode45(@fungsi,xspan,y0)
Keterangan: fungsi
: nama file untuk persamaan diferensial
x0
: nilai awal variable bebas
xa
: nilai akhir variable bebas
y0
: nilai awal variable terikat
Contoh penyelesaian:
Tentukan nilai y saat x = 3, dengan criteria saat x=0, y=2, selesaikanlah dengan metode Runge Kutta dan nilai
Δx=0,1.
Buat fungsi untuk persamaan pada m-file dan diberi nama file pdbfile.m
Buat program eksekusi pada m-file atau langsung pada command window
Hasil Run menggunakan ode45
9
60
50
40
30
20
10
0 0
0.5
1
1.5
2
2.5
3
10