5
0 ) Y , X ( F
-5
-10 2
3 2 0
1 0 -1
-2 Y
-2 -3
X
Heri Rustamaji
URUSAN TEKNIK KIMIA FAKULTAS TEKNIK UNIVERSITAS LAMPUNG 2010
BAB 1 Memulai Menggunakan MATLAB Matlab merupakan bahasa canggih untuk komputansi teknik. Matlab merupakan integrasi dari komputa komputansi nsi,, visuali visualisasi sasi dan pemogra pemograman man dalam dalam suatu suatu lingku lingkungan ngan yang yang mudah mudah digunak digunakan, an, karena karena permasal permasalahan ahan dan pemecahan pemecahannya nya dinyatak dinyatakan an dalam dalam notasi notasi matemati matematika ka biasa. biasa. Kegunaan Kegunaan Matla Matlab b secara umum umum adalah adalah untuk untuk :
Matematika dan Komputansi
Pengembangan dan Algoritma
Pemodelan,simulasi Pemodelan,simulasi dan pembuatan pembuatan prototype prototype
Analisa Data,eksplorasi dan visualisasi
Pembuatan apilikasi termasuk pembuatan raphical user user interface interface
Matlab Matlab adalah adalah sistem sistem interak interaktif tif dengan dengan elemen elemen dasar dasar array array yang merupakan merupakan basis basis datanya. Array tersebut tidak perlu dinyatakan khusus seperti di bahasa pemograman ang ada sekara sekarang ng.. Hal ini ini memun memungki gkink nkan an anda anda untuk untuk memeca memecahk hkan an banyak banyak masala masalah h perhitun perhitungan gan teknik, teknik, khususny khususnya a yang melibatkan melibatkan matriks matriks dan vektor vektor dengan dengan waktu waktu yang lebih singkat dari waktu yang dibutuhkan untuk menulis program dalam bahasa C atau Fortra Fortran. n. Untuk Untuk memahami memahami matlab matlab,, terlebi terlebih h dahulu dahulu anda anda harus harus sudah sudah paham paham mengenai mengenai matematika terutama operasi vektor dan matriks, karena operasi matriks merupakan inti utama utama dari dari matlab matlab.. Pada Pada intiny intinya a matlab matlab merupak merupakan an sekump sekumpul ulan an fungsi fungsi-fu -fungs ngsii yang yang dapat dapat dipanggil dan dieksekusi. Fungsi-fungsi tersebut dibagi-bagi berdasarkan kegunaannya ang dikelomp dikelompokan okan didalam toolbox toolbox yang ada pada matlab. Untuk mengetahui mengetahui lebih lebih jauh mengenai toolbox yang ada di matlab dan fungsinya anda dapat mencarinya di website http://www.mathworks.com,, http://www.mathworks.com
1.1 Desktop Desktop Matlab Matlab
Ketika anda mulai membuka program Matlab, akan muncul desktop Matlab yang berisi tools tools ( Graphical Graphical User Interface Interface)) untuk untuk mengat mengatur ur file, file, variab variabel el dan aplikasi aplikasi yang yang berhubun berhubungan gan dengan dengan Matlab. Matlab. Sebagai ilustrasi dibawah ini digambarkan desktop digambarkan desktop yang yang pertama muncul di Matlab. Matlab. Gambar 1 menunjukkan desktop MATLAB.
Pengenalan Aplikasi MATLAB dalam Teknik Kimia
1
Workspace berfungsi Workspace berfungsi sbg tempat menyimpan variabel masukan dan hasil
Command window merupakan jendela utama MATLAB. T empat untuk mengeksekusi perintah. Menampilkan masukan dan hasil
Command history adalah tempat menyimpan segala perintah pada command windows secara
Gambar 1. Desktop Matlab
Untuk lebih jelas mengenai lingkungan kerja MATLAB perhatikan contoh berikut ini.
Perintah memasukan data variabel a
Menyimpan secara otomatis harga variabel a, b , dan c
Perintah memasukan data variabel b
Perintah menghitung harga variabel c
Menyimpan secara otomatis perintah-perintah yang telah diketikkan di command window
Gambar 2. Perintah dalam Command Window
Pengenalan Aplikasi MATLAB dalam Teknik Kimia
2
1.2 Ruang Ruang Kerj Kerja a Matl Matlab ab
Saat anda bekerja di command window semua perintah, variabel dan data yang disimpan berada di dalam ruang kerja Matlab. Ruang kerja “default” dari Matlab yaitu di folder work di dalam folder Matlab. Apabila kita menginstal Matlab versi 7.1 di C maka folder work akan berada di C:/Matlab7p 1/work. Untuk merubah ruang kerja lakukan lakukan di Command Window, Window, seperti anda anda merubah direktori direktori di DOS. Coba anda ketik tes = 2 pada command window, maka akan keluar output sebagai berikut : tes = 2
Ini berarti variabel tes telah tersimpan di dalam ruang kerja kita. Untuk melihat data yang telah tersimpan coba anda ketik tes pada commands window. Jika anda tidak dapat mengingat nama setiap variable, maka anda dapat meminta Matlab untuk menampilkan menampilkan namanya, menggunakan menggunakan perintah who atau whos. hos
Name
Size
tes tes2
1x1 1x1
Bytes Class 8 double array 8 double array
Gran Gr and d to tota tal l is 2 el elem emen ents ts us usin ing g 16 by byte tes s
Untuk Untu k menge mengeta tahu huii isi isi vari variabe abell ters tersebu ebutt anda anda haru haruss memasu memasukk kkan an nama nama vari variab abeln elnya ya dala dalam m command command window. window. Untuk memanggil perintah sebelumnya, di Matlab menggunakan tombol panah pada k e y b oa oa r d a n d a ( ← ↑ ↓ → ) . Untuk menghapus menghapus semua semua variabel variabel yang sudah kita masukkan digunakan digunakan perintah clear all Untuk Untu k melih melihat at kete ketera rang ngan an dari dari func functi tion on di Matl Matlab ab atau atau prog progra ram m yang yang kita kita buat buat digu diguna naka kan n perintah perintah : ' help function ' , sebagai contoh : help he lp plo plot t
Pengenalan Aplikasi MATLAB dalam Teknik Kimia
3
1.3 1.3 M-files M-files M-fil M-files es dapat dapat berisi berisi progra program, m, scrip scripts, ts, persam persamaan aan atau atau data data yang yang dipan dipangg ggil il selam selama a ekse ekseku kusi si.. Jika Jika m-fi m-file less adal adalah ah defi defini nisi si fung fungsi si,, sela selanj njut utny nya a bagia bagian n yang yang terp terpen entting ing dari ari jeni jeniss m-fi m-fille ini ini adal adalah ah baris aris perta ertama ma.. Bari Bariss pert pertam ama a harus mengan mengandu dung ng defin definisi isi fungs fungsii sehing sehingga ga MATLAB MATLAB dapat dapat menemu menemukan kan m-fil m-files es yang yang dipanggil. M-files tipe ini disebut dengan fungsi m-files atau fungsi file. Kode yang digunakan untuk mendefinisikan file adalah sebagai berikut: function
z = file_n file_name ame(x, (x,y) y)
‘file_ ‘file_name name’’ adalah adalah nama sederhana sederhana m-file m-file (nama file harus sama dalam dalam definis definisii dan nama file. file. Baris Baris script script selanju selanjutny tnya a dalam dalam m-file m-file dapat dapat mendefin mendefinisi isikan kan fungsi fungsi atau fungsi dan label beberapa variable yang diperlukan. Berikut ini contoh suatu m-file ang digunakan digunakan untuk mengeplot fungsi logaritma bilangan bilangan natural. natural.
Gambar 3. Penulisan dalam m-files
Untuk menghasilkan plot fungsi ini , berikut ini kode yang damasukkan ke dalam command window: fplo fplot t (‘example1 (‘example1’,[1:5]) ’,[1:5])
Ini akan mnghasilkan plot ln (x) antara x =1 dan x = 5. Hasil plot ditunjukkan Gambar 4. Dengan menggunakan menu’insert’ kita dapat menambah judul, nama sumbu x dan dan jika perlu legend perlu legend 1.4 Perintah ‘global’
Command workspace adalah area di dalam memori komputer dimana tersimpan berbagai parameter dan variabel yang telah didefinisikan pada command pada command line (baik pada command window ataupun ataupun pada pada m-file) m-file) MATLAB MATLAB.. Masing Masing – masing masing m-file m-file memilik memilikii worksp workspace ace khusus yang masing – masing tidak dapat berkomunikasi sampai kita membuatnya saling berkomunikasi. Salah satu cara untuk mengkomunikasikan masing – masing workspace
Pengenalan Aplikasi MATLAB dalam Teknik Kimia
4
tersebut adalah dengan perintah ’global’ (Lihat Gambar 5).
Grafik hasil hasil fugsi example1 example1 Gambar 4. Grafik
Gambar 5. Variabel
global dan lokal.
1.5 Pemrogram Pemrograman an pada Matlab Matlab
Hampir seluruh operasi Matlab dilaksanakan dilaksanakan melalui script, yaitu yaitu urutan urutan perintah-per perintah-perintah intah yang dituliskan dalam bentuk teks. Seperti halnya script-script lainnya (misalnya file-file berekstensi .bat di sistem operasi DOS), script Matlab juga harus dijalankan dalam program Matlab sebagai lingkungannya. Script ini dapat berupa urutan perintah seperti layaknya script-script lainnya, tetapi dapat
Pengenalan Aplikasi MATLAB dalam Teknik Kimia
5
juga merupakan sebuah fungsi atau subrutin. Sebagai fungsi, script s cript matlab dapat menerima variab variabel el dan mengha menghasilk silkan an suatu suatu besaran besaran.. Dengan Dengan demikia demikian, n, pekerja pekerjaan an dapat dapat dipeca dipecahh pecah menjadi beberapa pekerjaan kecil dan dilaksanakan dalam fungsi-fungsi tersebut sehingga penyelesaiannya menjadi lebih mudah. Beriku Berikutt akan akan dipapa dipaparka rkan n bagaim bagaimana ana memban membangu gun n script script dan fungsi fungsi,, menemp menempatk atkanny annyaa dalam lingkunga lingkungan n operasi Matlab, mengekseku mengeksekusinya, sinya, menangani variabel-varia variabel-variabel bel yang terlibat di dalamnya, melewatkan variabel melalui fungsi, dan mengatur aliran program. 1.6
Membuat Membuat File File Program Program yang Dapat Dieksekus Dieksekusii pada Matlab Matlab
File script adalah sebuah file teks biasa dan bisa dibuat menggunakan editor teks biasa seperti notepad pada windows atau editor edit.exe pada DOS. Tetapi pada Matlab versi 7.x yang baru, editor khusus telah disediakan. Editor ini dilengkapi dengan pustaka kata-kata kunci Matlab yang berwarna lain sehingga memudahkan penyuntingan program. Selain itu, itu, edito editorr dilen dilengk gkap apii juga juga deng dengan an peman pemandu du pasa pasang ngan an kuru kurung ng ( bracket ), ), fungsi fungsiny nyaa menunjukkan pasangan kurung buka dan kurung tutup yang bersesuaian. Ini penting saat penyuntingan persamaan yang melibatkan kurung berlapis-lapis. Untuk mengeksekusi script atau fungsi, tuliskanlah nama fungsi tersebut pada prompt (»). Jangan Jangan gunak gunakan an huruf huruf kapital kapital karena karena nama nama fungsi fungsi di Matlab Matlab diharu diharuskan skan mengg mengguna unakan kan huruf non-kapital. 1.6.1 Script Script : Uruta Urutan n Perin Perintah tah Matlab Matlab Untuk membuat script biasa, tuliskan perintah-perintah Matlab dengan urutan yang benar. Perhatikan contoh berikut : % cont contoh1. oh1.m m : Meng Menghitu hitung ng perk perkalia alian n matr matriks iks A = [1 2 3; 4 5 6] B = [2 3; 4 5; 6 7] C = A*B » contoh1 contoh1 A = 1 4
2 5
2 4 6
3 5 7
28 64
34 79
3 6
B =
C =
Script dapat menerima masukan melalui input dari keyboard, tetapi tidak dapat menerima masukan berupa argumen. Karena itu script hanya digunakan untuk program-program singkat, atau program induk.
Pengenalan Aplikasi MATLAB dalam Teknik Kimia
6
1.6.2 Fungsi : Subrutin Matlab Pengg Pengguna unaan an fungsi fungsi lebih lebih fleksib fleksibel el diband dibanding ingkan kan script script biasa. biasa. Fungsi Fungsi dapat dapat meneri menerima ma masukan masukan berupa berupa argumen. argumen. Walaupun Walaupun fungsi juga dapat menerima menerima masukan dari keyboard, keyboard, tetapi tetapi pemrog pemrogram ram biasany biasanyaa tidak tidak menempa menempatka tkan n pekerja pekerjaan an ini dalam dalam fungsi fungsi kecual kecualii ada tujuan khusus untuk itu.
Sebuah Sebuah fungs fungsii harus harus memiliki memiliki header header yang yang ditanda ditandaii denga dengan n kata-k kata-kunc uncii function. Pada header header tersebu tersebutt terdap terdapat at variab variabel el output output,, nama nama fungsi fungsi dan variabe variabell input. input. Nama Nama fungsi fungsi disini tidak selalu mencerminkan nama fungsi yang sebenarnya. Nama fungsi sebenarnya adalah nama file .m yang berisi fungsi tersebut. Walaupun demikian, nama fungsi pada header sebaiknya sama dengan nama file agar tidak membingungkan. Perhatikan contoh berikut : function R = contoh2( contoh2(P,Q) P,Q) % cont contoh2. oh2.m m : Meng Menghitu hitung ng perk perkalian alian matr matriks iks R = P*Q » A = [1 2 3; 4 5 6]; » B = [2 3; 4 5; 6 7]; » C = contoh contoh2(A 2(A,B) ,B) C = 28 64
34 79
28 64
34 79
C =
Perhatikan bahwa nama variabel di dalam fungsi dan variabel pemanggil fungsi tidak harus sama. Matlab membedakan variabel variabel di luar fungsi fungsi dan variabel di dalam fungsi. Variabel Variabel di dalam fungsi bersifat bersifat lokal dan hanya berlaku di dalam fungsi. Hal ini akan dibahas pada sub-bagian lain. 1.7 Mengatur Mengatur Alur Alur Program Program Sebagaimana bahasa pemrograman pada umumnya, Matlab juga memiliki perintah perintah untuk mengatur alur program. Ada beberapa perintah Matlab M atlab yang dapat digunakan untuk mengatur alur program antara lain : a. IF … ELSE Perintah ini adalah perintah klasik pemrograman. Identik dengan jika .. maka, perintah ini dapat digunakan untuk menguji suatu kondisi tertentu. Sintaks dari perintah ini diperlihatkan pada contoh berikut : % progra program m : tes test.m t.m a = inpu input( t(' ' a = '); ' ); if a = = 0 disp('a disp('a elseif a < disp('a disp('a else disp('a disp('a end
sama sam a den dengan gan nol' ); 0 negatif' nega tif'); ); positif' posi tif'); );
» test test a = 4
Pengenalan Aplikasi MATLAB dalam Teknik Kimia
7
a » a a » a a
positif positif test test = -4 negatif negatif test test = 0 sama sama denga dengan n nol
b. FOR Perintah ini juga merupakan perintah klasik bahasa pemrograman. Fungsi for adalah untuk melakukan loop sejumlah urutan yang telah ditentukan. Sintaks dari perintah ini diperlihatkan pada contoh berikut : for i=1:10 for j=1:2:10 A(i,j) A(i,j) = (i+j); (i+j); end; end ; end; end ; A » test test A = 2 3 4 5 6 7 8 9 10 11
0 0 0 0 0 0 0 0 0 0
4 5 6 7 8 9 10 11 12 13
0 0 0 0 0 0 0 0 0 0
6 7 8 9 10 10 11 11 12 13 14 15
0 0 0 0 0 0 0 0 0 0
8 9 10 11 12 12 13 13 14 15 16 17
0 0 0 0 0 0 0 0 0 0
10 11 12 13 14 14 15 15 16 17 18 19
Urutan loop dapat sebuah vektor dengan bilangan-bilangan tertentu seperti contoh di atas : untuk i urutan dari 1 sampai 10 dengan kenaikan 1, sedangkan untuk j dari 1 sampai 10 dengan kenaikan 2. Jika x = [1 1.3 5.4 2.3 5.5 7], maka for x=x akan memberikan harga-harga x seperti setiap elemen dalam vektor x : x(1) = 1, x(3) = 5.4 dst. c. WH WHIL ILE E Perin Perintah tah ini ini akan akan meng mengul ulan ang g perin perinta tahh-pe perin rintah tah yang yang diap diapitn itnya ya selama selama kond kondisi isi pengujinya benar. Di dalam loop harus ada perintah-perintah yang membuat kondisi penguji menjadi salah, karena kalau tidak loop akan berlangsung terus. Contoh baik dapat dilihat para perhitungan epsilon mesin Matlab. % pro progra gram m : eps epsilo ilon.m n.m satu satu = inf; inf; eps eps = 1; while satu satu > 1 eps = eps/2; eps/2; satu satu = 1 + eps; eps; end; end ; eps eps = eps* eps*2 2
% nil nilai ai eps sem semaki akin n lam lama a se semak makin in kec kecil il % sat satu u sua suatu tu saa saat t ak akan an sam sama a den dengan gan 1
» epsilon epsilon eps eps = 2.2204e-016
d. SWITCH SWITCH … CASE … OTHER OTHERWISE WISE Perintah ini mengarahkan alur program melalui sejumlah pilihan. Perintah ini untuk
Pengenalan Aplikasi MATLAB dalam Teknik Kimia
8
menggantikan perintah IF…ELSEIF… IF…ELSEIF…ELSE ELSE yang bertumpuk. a = inpu input( t(' ' a = '); ' ); switch a case {0}, disp( disp( 'a nol nol' ') case {1}, disp( disp( 'a satu satu' ') otherwise disp('a disp('a buk bukan an nol atau sat satu' u' ); end; end ; » a a » a a » a a » a a
pilihan pilihan = 1 satu satu pilihan pilihan = 0 nol nol pilihan pilihan = -3 bukan bukan nol atau satu pilihan pilihan = 4 bukan bukan nol atau satu
1.8 Oper Operasi asi Vektor Vektor dan Matriks Matriks
Beberapa Beberapa operasi vektor vektor dan matriks yang penting antara lain adalah :
Transposisi Transposisi Transposisi vektor dan matriks dinyatakan dinyatakan dengan simbol apostrop ( ‘ ). Secara sederhana, definisi transposisi vektor dan matriks adalah mengubah posisi elemenelemen kolom dalam vektor dan matriks menjadi elemen-elemen baris pada vektor dan matriks ybs. Secara matematik dapat dinyatakan sbb. :
A B' jika a ij
b ji
Pada Matlab, perintah ini dapat dilakukan dengan : » A = [1 2 3] A = 1
2
3
» B = A' B = 1 2 3 » P = [1 2 3; 4 5 6; 7 8 9] P = 1
2
3
Pengenalan Aplikasi MATLAB dalam Teknik Kimia
9
4 7
5 8
6 9
4 5 6
7 8 9
» Q = P' Q = 1 2 3
Perlu diingat bahwa Matlab selalu mendefinisikan sebuah array (vektor) sebagai vektor baris, kecuali didefinisikan terlebih dahulu. Misalnya A = 1:5 adalah vektor [1 2 3 4 5] dan bukan vektor kolom. Hal ini berbeda dengan definisi awal ( default ) vektor pada beberapa buku referensi komputasi.
Penjumlahan dan Pengurangan Penjumlahan Penjumlahan dan penguranga pengurangan n vektor dan matriks adalah penjumlahan penjumlahan masingmasing elemennya. Pada Matlab, operasi penjumlahan dan pengurangan ditandai dengan dengan tanda plus (+) dan minus (-). A = 5
6
7
» B = [1 2 3] B = 1
2
3
4
4
» A - B ans ans = 4
Syarat penjumlahan dan pengurangan adalah dimensi kedua vektor atau matriks yang dijumlahkan harus sama.
Perkalian Vektor dan Matriks Perkalian vektor dan matriks dilakukan menurut persamaan :
C AB
cik aij.b jk
Syarat perkalian vektor dan matriks adalah jumlah baris vektor/matriks pertama harus sama dengan jumlah kolom vektor/matriks kedua.
Pengenalan Aplikasi MATLAB dalam Teknik Kimia
10
» A = [1 2 3; 4 5 6; 7 8 9] A = 1 4 7
2 5 8
3 6 9
» B = [1 3; 2 4; 5 7] B = 1 2 5
3 4 7
» A*B A*B ans ans = 20 44 68
32 74 116
Pembagian Matriks Terdapat dua macam pembagian matriks : Pembagian kiri : x = A\B diartikan sebagai penyelesaian A*x = B Pembagian Pembagian kanan : x = A/B diartikan sebagai sebagai x = A*inv(B)
Pemangkatan Matriks Pema Pemang ngka kata tan n n matr matrik ikss adal adalah ah perk perkal alia ian n matr matrik ikss ters terseb ebut ut n kali kali.. Syar Syarat at pemangkatan matriks tentu saja adalah bahwa matriks yang akan dipangkatkan harus bujur-sangkar sehingga dapat dikalikan berulang-ulang.
1.8.1 Oper Operasi asi Elemente Elementerr
Beberapa operasi khusus terhadap elemen vektor dan matriks adalah :
Perkalian/pembagian elemen vektor dan matriks Perkalian elementer vektor dan matriks lain dengan perkalian vektor dan matriks biasa. Perkalian elementer ini adalah perkalian antara elemen-elemen dari dua vektor atau matriks.
» A = [1 2 3]; » B = [4 5 6]; » A*B' A*B'
Pengenalan Aplikasi MATLAB dalam Teknik Kimia
11
ans ans = 32
(perkalian vektor biasa)
» A.*B A.*B ans ans = 4
10
18
(perkalian elementer)
» A./B A./B ans ans = 0.2500
0.4000
0.5000
(pembagian elementer)
Pemangkatan elemen vektor vektor dan matriks Sama halnya dengan perkalian dan pembagian matriks, pemangkatan elementer juga berlaku untuk setiap seti ap elemen suatu s uatu vektor/matriks. vektor/mat riks. » A.^2 A.^2 ans ans = 1
4
9
( [1^2 2^2 3^2] )
25
21 216
( [4^1 5^2 6^3] )
» B.^A B.^A ans ans = 4
1.7.2 Operasi Vektor dan Matriks pada Fungsi Operas Operasii fungsi fungsiona onall pada pada Matlab Matlab dapat dapat diaplik diaplikasik asikan an pada pada vektor vektor dan/ata dan/atau u matrik matriks. s. Misalnya jika x = [1 2 3] dan y = x 2 + 2x + 4, maka persamaan y(x) dapat dievaluasi secara vektor. » x = [1 2 3]; » y = x.^2 + 2*x + 4 y = 7
12
19
Beberapa fungsi bawaan dapat juga diaplikasikan secara vektor dan matriks misalnya sinus, cosinus, exponent, logatirma dls. Pema Pemaha hama man n tent tentan ang g oper operas asii pada pada vekt vektor or dan dan matr matrik ikss ini ini akan akan sang sangat at memb memban antu tu menyelesaikan masalah menggunakan Matlab, karena beberapa kegiatan iteratif diganti dengan hanya sebuah atau beberapa buah perintah Matlab. Sebagai ilustrasi, simaklah contoh berikut ini :
Pengenalan Aplikasi MATLAB dalam Teknik Kimia
12
Contoh 1.1 : Untuk menentukan harga kapasitas panas suatu campuran gas pada suatu temperatur biasanya digunakan persamaan polinom kapasitas panas zat murni. Misalkan komposisi gas adalah yi dan Cpi = Ai + BiT + CiT2 + DiT3 maka perhitungan kapasitas panas campuran pada T = 300 K dapat dilakukan dil akukan dengan cara : - cara pertama dengan dengan pemrograman pemrograman biasa : % test1.m test1.m Cp = [1.2 0.02 0.00323 0.00323 0.000003 0.000003233; 233; 3.2 0.013 0.013 0.00466 0.00466 0.000004 0.000004345] 345] y = [0.4 [0.4 0.6] 0.6] T = 300 Cpc = 0 for i=1:length(y) Cpi = 0 for j=1:length(Cp) Cpi = Cpi + Cp(i,j Cp(i,j)*T )*T^(j ^(j-1) -1) end; end ; Cpc Cpc = Cpc Cpc + y(i) y(i)*C *Cpi pi end; end ; Cpc » test1 test1 Cpc Cpc = 480.3654
- cara kedua dengan perhitungan vektor/matriks : % test2. test2.m m Cp = [1.2 [1.2 0.02 0.02 0.0032 0.00323 3 0.0000 0.000003 03233 233; ; 3.2 0.013 0.013 0.00466 0.00466 0.000004 0.000004345] 345]; ; y = [0.4 [0.4 0.6] 0.6]; ; T = 300; P = 0:3; TT = T .* ones ones(1 (1,4 ,4); ); TT = TT.^ TT.^P P Cpc = y*(Cp* y*(Cp*TT' TT') )
% mend mendef efin inis isik ikan an pa pang ngka kat t P = [0 1 2 3] % men mengh ghit itun ung g vek vekto tor r TT TT = [3 [300 00 30 300 0 300 300 30 300] 0] % me meng nghi hitu tung ng TT = [3 [300 00^0 ^0 30 300^ 0^1 1 30 300^ 0^2 2 30 300^ 0^3] 3]
» test test2 2 Cpc = 480.3654
Dari contoh ini dapat dilihat bahwa sejumlah prosedur yang biasanya dikodekan iteratif (menggunakan perintah for) dapat dihilangkan dan diganti dengan kode operasi matriks matriks linier (tidak iteratif).
Pengenalan Aplikasi MATLAB dalam Teknik Kimia
13
Pemahaman penggunaan operasi-operasi vektor dan matriks, selain akan mempercepat perhitungan, juga akan mempermudah pengkodean program dan dokumentasi program. Latihan: Menghitung Entalpi Campuran Gas Melalui Melalui cara yang telah dibahas dibahas di atas , hitunglah hitunglah entalpi suatu campuran gas CH 4, H2O, H 2, CO 2, CO dengan komposisi masing-masing sebesar 0.22, 0.12, 0.41, 0.13, 0.12 pada temperatur 350 K. Data kapasitas panas dan entalpi pembentukan masingmasing gas murni adalah sbb. :
Gas
Hf
CH4 H2O H2 CO2 CO
-17.89 -57.80 0.0 -94.05 -26.42
A
B
C
D
E
38.3870 34.0471 17.6386 19.0223 29.0063
-7.3664E-2 -9.6506E-3 6.7005E-2 7.9629E-2 2.4923E-3
2.9098E-4 3.2998E-5 -1.3148E-4 -7.3707E-5 -1.8644E-5
-2.6385E-7 -2.0447E-8 1.0588E-7 3.7457E-8 4.7989E-8
8.0068E-11 4.3022E-12 -2.9180E-11 -8.1330E-12 -2.8726E-11
Catatan : Hf dalam kkal/mol kkal/mol Cp = A + BT + CT 2 + DT3 + ET4 [J/mol.K] [J/mol.K] dan T dalam K Entalpi campuran gas dapat dihitung berdasarkan persamaan : H
n
i 1
(i ) H f ,i
T To Cpi dT
Pengenalan Aplikasi MATLAB dalam Teknik Kimia
14
BAB 2 Visualisasi Data Dalam MATLAB Matlab menyediakan berbagai fungsi untuk menampilkan data secara dua dimensi maupun tiga dimensi. Pada kasus dimana Anda membuat grafik dalam tiga dimensi, Anda dapat menggambar permukaan dan menempatkan bingkai pada grafik tersebut. Warna digunakan untuk mewakili dimensi keempat. Contoh 2.1 Data rekasi berikut telah diperoleh dari reaksi peluruhan sederhana: A B Menggunakan MATLAB MATLAB untuk memplot konsentrasi komponen A dalam mol/L terhadap waktu reaksi, dalam menit. Time (Minutes) 0 1 3 6 9 12 15 18 21
Concentration Mole/Liter 100 80 65 55 49 45 42 41 38
Penyelesaian : Pertama, Pertama, data harus dimasukkan dimasukkan ke dalam MATLAB MATLAB sebagai dua vektor. Vektor x dan y di definisikan dalam Command Window, diikuti dengan perintah untuk mengeplot data. Gambar di bawah menunjukkan cara penulisan.
Pengenalan Aplikasi MATLAB dalam Teknik Kimia
15
Hasil grafik ditunjukkan gambar di bawah.
Matrix Matrix baris baris ‘x’ (atau vektor) vektor) memilik memilikii keluar keluaran an tampil tampilan an mengg mengguna unakan kan ‘;’ pada akhir akhir baris. Syntax dapat digunakan untk menentukan judul dan labels, tetapi lebih mudah menggunaka menggunakan n pendekatan pendekatan berdasarkan GUI (Graphical (Graphical User Interface) Interface) untuk mengedit gambar.
Pilih perintah perintah ‘Edit ‘Edit Plot’ Plot’ pada pada menu ‘Tools ‘Tools’’ atau klick klick kursor kursor pada pada gambar gambar
Sekarang klick langsung pada garis, garis, dan property editor garis akan muncul
Doub Double le click click pada pada ruang ruang putih putih dalam dalam graf grafik ik.. Hal Hal ini ini memu memung ngki kink nkan an untu untuk k mengedit. Selanjutnya judul dan aksis dapat disisipkan di bawah perintah ‘label’ Selanjutnya Selanjutnya warna warna garis, bentuk bentuk atau atau bentuk bentuk marker dapat dapat diedit. diedit. Kurva akhir akhir ditunjukkan di bawah.
Pengenalan Aplikasi MATLAB dalam Teknik Kimia
16
Untuk Untuk menampilkan data statistik sederhana, ikuti petunjuk. ‘Tools Data Statistics’ dan nilai nilai minimum, minimum, maximum, mean, median, median, standard standard deviation deviation,, and range range x and y akan tampil. tampil. Di dalam dalam kotak kotak ini setiap statisti statistik k dapat dapat ditambah ditambahkan kan ke kurva kurva sebagai sebagai titik titik data/garis. Anda dapat memilih sendiri style penandaan, warna dan bentuk garis dengan memberikan argumen ketiga pada fungsi plot untuk setiap pasangan array data. Argumen tambahan ini adalah adalah suatu suatu karakt karakter er strin string g yang yang terdiri terdiri dari satu satu atau lebih karakter karakter dari dari tabel tabel di bawah ini: Simbol
Warna
Penandaan
Simbol
b
Biru
.
Titik
r
Merah
o
Lingkaran
g
Hijau
x
Tanda x
c
Cyan
+
Tanda plus
m
Magenta
*
Tanda bintang
y
Kuning
s
Bujursangkar
k
Hitam
d
Diamon
w
Putih
p
pentagram
h
heksagram
Pengenalan Aplikasi MATLAB dalam Teknik Kimia
17
Menganalisis sekumpulan data percobaan
Sekumpulan data pengukuran sebuah spesimen adalah sbb. : 67.5 65.7 68.4 65.3 69.1 66.2 68.3 63.1 67.3 69.9 68.3 66.4 65.7 70.1 64.9 69.6 67.9 66.5 Analisis data menggunakan Matlab :
71.0 68.4
» D = [67. [67.5 5 65.7 65.7 68.4 68.4 65.3 65.3 69.1 66.2 66.2 68.3 68.3 63.1 63.1 67.3 67.3 71.0 71.0 ... ... 69.9 69.9 68.3 68.3 66.4 66.4 65.7 65.7 70.1 70.1 64.9 64.9 69.6 69.6 67.9 67.9 66.5 66.5 68.4] 68.4] D = Column Columns s 1 throug through h 7 67. 67.500 5000
65.7 5.7000 000
68. 68.400 4000
65.30 .3000
69.1 9.1000 000
66.20 .2000
68.3 8.3000 000
71. 71.000 0000
69.90 .9000
68.3 8.3000 000
66.40 .4000
65.7 5.7000 000
67.90 .9000
66.5 6.5000 000
68.40 .4000
Column Columns s 8 throug through h 14 63. 63.100 1000
67.3 7.3000 000
Column Columns s 15 throu through gh 20 70. 70.100 1000
64.9 4.9000 000
69. 69.600 6000
» max(D) max(D)
% mene menentuk ntukan an nila nilai i maks maksimum imum
ans ans = 71 » min(D) min(D)
% mene menentuk ntukan an nila nilai i mini minimum mum
ans ans = 63.1000 » mean(D) mean(D)
% mene menentuk ntukan an nila nilai i ratarata-rata rata
ans ans = 67.4800 » median(D median(D) )
% mene menentuk ntukan an nila nilai i teng tengah ah
ans ans = 67.7000 » std(D) std(D)
% mene menentuk ntukan an stan standar dar devi deviasi asi
ans ans = 2.0023 » sort(D) sort(D)
% meng mengurut urutkan kan data
ans ans = Column Columns s 1 throug through h 7 63. 63.100 1000
64.9 4.9000 000
65. 65.300 3000
65.70 .7000
65.7 5.7000 000
66.20 .2000
66.4 6.4000 000
67. 67.500 5000
67.90 .9000
68.3 8.3000 000
68.30 .3000
68.4 8.4000 000
69.90 .9000
70.1 0.1000 000
71.00 .0000
Column Columns s 8 throug through h 14 66. 66.500 5000
67.3 7.3000 000
Column Columns s 15 throu through gh 20 68. 68.400 4000 » sum(D) sum(D)
69.1 9.1000 000
69. 69.600 6000
% menj menjumla umlahkan hkan data
ans ans =
Pengenalan Aplikasi MATLAB dalam Teknik Kimia
18
1.3496e+003 » prod(D) prod(D)
% meng mengalik alikan an data
ans ans = 3.8006e+036 » cumsum(D cumsum(D) )
% menj menjumla umlahkan hkan data seca secara ra kumu kumulati latif f
ans ans = 1.0e+003 1.0e+003 * Column Columns s 1 throug through h 7 0.0675
0.1332
0.2016
0.2669
0.3360
0.4022
0.4705
0.6719
0.7418
0.8101
0.8765
0.9422
1.1468
1.2147
1.2812
1.3496
Column Columns s 8 throug through h 14 0.5336
0.6009
Column Columns s 15 throu through gh 20 1.0123
1.0772
Menentukan model polinom dari sekumpulan data percobaan Dari suatu hasil pengukuran diperoleh data sbb. x 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 3
y 2.952383 6.209525 6.1624 5.465714 7.891386 8.181819 10.47825 16.69245 16.6094 23.76093 23.91732 29.41918 34.0725 43.34264 51.50684 57.81625
Menurut teori, data ini bersesuaian dengan model polinom orde ketiga. Berikut langkahlangkah untuk mendapatkan model tersebut » x x = Column Columns s 1 throug through h 7 0
0.2000
0.4000
0.6000
0.8000
1.0000
1.2000
1.8000
2.0000
2.2000
2.4000
2.6000
Column Columns s 8 throug through h 14 1.4000
1.6000
Pengenalan Aplikasi MATLAB dalam Teknik Kimia
19
Column Columns s 15 throu through gh 16 2.8000 8000
3.0 3.0000 000
» y y = Column Columns s 1 throug through h 7 2.9524
6.2095
6.1624
5.4657
7.8914
8.1818
10.4782
23. 23.760 7609
23.91 .9173
29.4 9.4192 192
34.07 .0725
43.3 3.3426 426
Column Columns s 8 throu through gh 14 16. 16.692 6925
16.6 6.6094 094
Column Columns s 15 throu through gh 16 51.5 51.506 068 8
57.8 57.816 163 3
» polyfit(x,y,3) polyfit(x,y,3) P = 1.2851
1.1226
3.2621
3.9039
% koef koefisie isien n poli polinom nom ordeorde-3 3
5.4706
6.5429
7.8901
9.5738
11.6557
20. 20.907 9077
25.19 .1994
30.1 0.1978 978
35.96 .9645
42.5 2.5613 613
» yc = polyv polyval( al(P,x P,x) ) yc = Column Columns s 1 throug through h 7 3.9039
4.6115
Column Columns s 8 throug through h 14 14. 14.197 1975
17.2 7.2610 610
Column Columns s 15 throu through gh 16 50.0 50.049 497 7
58.4 58.491 916 6 Data Percobaan vs. Model Polinom Orde ke-3 60
50
40
y 30
20
10
0
0
0.5
1
1.5 x
2
2. 5
3
Membuat polinom dan mencari akar polinom Matla Matlab b memi memilik likii fung fungsisi-fu fung ngsi si untu untuk k memb memben entu tuk k polin polinom om dari dari akarakar-ak akar arny nya, a, dan dan sebaliknya, menentukan akar-akar polinom dari sebuah polinom. Simaklah contoh berikut.
» P = [1 2 3 4]
Pengenalan Aplikasi MATLAB dalam Teknik Kimia
20
P = 1
2
3
4
-10
35
-50
» poly(P) poly(P) ans ans = 1
24
» roots(an roots(ans) s) ans ans = 4.0000 3.0000 2.0000 1.0000
Matla Matlab b juga juga dapa dapatt beker bekerja ja denga dengan n bila bilang ngan an komp komple leks ks.. Untu Untuk k akarakar-ak akar ar yang mengandung bilangan kompleks, fungsi roots akan mengeluarkan jawaban berupa bilangan kompleks. » roots(P) roots(P) ans ans = -1.6506 -0.1747 -0.1747 + 1.5469i 1.5469i -0.1747 -0.1747 - 1.5469i 1.5469i
Pengenalan Aplikasi MATLAB dalam Teknik Kimia
21
BAB 3 Penyelesaian Persamaan Linier Simultan Bentuk umum persamaan linier simultan adalah: a11 x1 a21 x1 a31 x1 . . . an1 x1
+ a 12 x2 + + a 22 x2 + + a 32 x2 + . . . . . . + a n2 x2 +
a13 x3 + …. + a 1n xn = b1 a23 x3 + …. + a 2n xn = 12 a33 x3 + …. + a 3n xn = b3 . . . . . . . . . an3 x3 + …. + a nn xn = bn
Dalam hal ini akan dicari harga x 1 , x2 ,…, xn. Dalam MATLAB, jenis persamaan di atas dapat diselesaikan dengan menggunakan fasilitas yang sudah tersedia yaitu operasi matrix. Contoh 3.1 Mencari beberapa variable persaaan linier simultan. Diketahui Diketahui sebuah sistem persamaan persamaan linier sbb. :
3 2 3 5 x1 2 2 3 3 4 1 3 2 5 3 6 x 4 5 x1 2 3 x 4 0 5
1
Sistem persamaan persamaan linier ini dapat dinyatakan dinyatakan dalam bentuk bentuk persamaan matriks :
5 3 1 0 x1 5 1 2 3 1 x 1 2 0 3 5 6 3 5 1 0 2 1 x 4 0 Penyelesaian pada Matlab : » A = [5 -3 1 0; 1 2 -3 1; 0 3 -5 6; -1 0 2 -1] A = 5 1 0 -1
-3 -3 2 3 0
1 -3 -3 -5 -5 2
0 1 6 -1
» b = [5 1 -5 0]
Pengenalan Aplikasi MATLAB dalam Teknik Kimia
22
b = 5
1
-5 -5
0
» x = A\b' x = 1.3165 0.5823 0.1646 -0.9873 » A*x A*x ans ans = 5.0000 1.0000 -5.0000 0
Contoh 3.2 : Neraca Massa Linier Rangkaian Proses. Suatu bahan A akan dikonversikan menjadi B dalam sebuah reaktor. Produk B keluar bersama reaktan A yang tidak bereaksi menuju pemisah sehingga reaktan A dapat dikemb dikembalik alikan an ke reaktor. reaktor. Gambar Gambar skema skema proses proses tesebut tesebut ditunju ditunjukka kkan n pada pada gambar gambar di bawah.
Produk Produk berupa zat A murni dengan dengan laju 100 kmol/jam. kmol/jam. Kendala proses adalah : 1. 80 % dari dari A dan 40 40 % dari B di di dalam alur alur 2 di daur-ulang daur-ulang.. 2. Perbanding Perbandingan an mol A terhada terhadap p B di dalam dalam alur 1 adalah adalah 5 : 1. Neraca massa Pencampur : NA1 – N A3 = 100 NB1 – NB3 = 0 Neraca massa reaktor : - NA1 + NA2 + r = 0 - NB1 – NB2 – r = 0 (r = laju reaksi) Neraca massa pemisah : Pengenalan Aplikasi MATLAB dalam Teknik Kimia
23
- NA2 + NA3 + NA4 = 0 - NB2 + NB3 + NB4 = 0 Kendala-kendala : Porsi cabang :
0.8 N A2 + NA3 = 0 -0.4 NB2 + NB3 = 0 Hubung Hubungan an kompos komposisi isi alur alur : N A1 – 5 N B1 = 0
Ada 9 persamaan persamaan linier dengan 9 variabel variabel yang tak diketahui diketahui : NA1, NB1, NA2, N B2, N A3, NB3, NA4, N B4, dan r. Persamaan-persamaan di atas dapat dituliskan kembali dalam bentuk matriks sbb. :
0 0 1 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0.8 0 1 0 0.4 0 1 0 0 0 1 5 0 0 0 0
0
0
0
0
0
0
0
0
1
0
0 1 0
0
0
0
0
0
N A1 100 0 0 A2 1 A3 0 1 A4 0 0 A5 0 0 A6 0 0 A7 0 0 A8 0 0 A9 0 0
Script Matlab untuk menyelesaikan sistem persamaan ini adalah sbb. : % Pen Penyel yelesa esaian ian per persam samaan aan ner neraca aca mas massa sa : ner nerac aca.m a.m A = [1 0 -1 0 0 0 0 0 1
0
0
0 -1 0 0 0 0; 1 0 0 0 -1 0 0 0; 0 1 0 0 0 0 0 1; -1 0 1 0 0 0 0 -1; 0 -1 0 1 0 1 0 0; 0 0 -1 0 1 0 1 0; 0 -0.8 0 1 0 0 0 0; 0 0 -0.4 0 1 0 0 0; -5 0 0 0 0 0 0 0]
b = [100 0 0 0 0 0 0 0 0]' x = A\b » neraca neraca A = Colu Column mns s 1 thro throug ugh h 7 1.0000
0
0
0
-1.0000
0
0
Pengenalan Aplikasi MATLAB dalam Teknik Kimia
24
0
1.0000
0
0
0
-1.0000
-1.0000
0
1.0000
0
0
0
0
-1.0000
0
1.0000
0
0
0
0
-1.0000
0
1.0000
0
0
0
0
-1.0000
0
1.0000
0
0
-0.8000
0
1.0000
0
0
0
0
-0.4000
0
1.0000
1.0000
-5.0000
0
0
0
0
0 0 0 1.0000 0 0 0 0 Colu Column mns s 8 thro throug ugh h 9 0 0 0 0 0 1.0000 0 0 0
0 0 1.0000 -1.0000 0 0 0 0 0
b = 100 0 0 0 0 0 0 0 0 x = 227.2727 45.4545 159.0909 113.6364 127.2727 45.4545 31.8182 68.1818 68.1818
Pengenalan Aplikasi MATLAB dalam Teknik Kimia
25
Latihan: Xylene (1), styrene (2), toluene (3) dan benzene (4) akan dipisahkan menggunakan 3 buah menara distilasi sebagaimana ditunjukkan oleh gambar di bawah. Masing-masing yaitu : F, D, B, D1, B1, D2, dan B2 adalah laju alir molar dalam mol/menit.
Diketahui :
F
= 70 mol/menit
xf,1
= 0.15 0.15 ; x f,2
xd1,1
= 0.07 0.07 ; x d1,2 = 0.04 0.04 ; xd1,3 = 0.54 0.54 ; xd1,4 = 0.35
x
= 0.18 0.18 ; x
1,1
1,2
= 0.25 0.25 ; x f,3
= 0.24 0.24 ; x
1,3
= 0.40 0.40 ; x f,4
= 0.42 0.42 ; x
1,4
= 0.20
= 0.16
xd2,1
= 0.15 0.15 ; x d2,2 = 0.10 0.10 ; xd2,3 = 0.54 0.54 ; xd2,4 = 0.21
x
= 0.24 0.24 ; x
2,1
2,2
= 0.65 0.65 ; x
2,3
= 0.10 0.10 ; x
2,4
= 0.01
(a) Hitung laju laju alir molar untuk aliran D1, D2, D2, B1 dan B2 ? (b) Hitung laju alir molar dan komposisi aliran D dan B ?
Pengenalan Aplikasi MATLAB dalam Teknik Kimia
26
Petunjuk Penyelesaian :
-
Neraca massa komponen untuk keseluruhan rangkaian MD
x d 1,1D 1 x b 1,1B 1 x d 2,1D 2
-
x b 2,1B 2 x f ,1F
x d 1,2D 1 x b 1,2B 1 x d 2,2D 2
x b 2,2B 2 x f ,2F
x d 1,3D 1 x b 1,3B 1 x d 2,3D 2
x b 2,3B 2 x f ,3F
x d 1,4D 1 x b 1,4B 1 x d 2,4D 2
x b 2,4B 2 x f ,4F
Neraca massa overall dan komponen untuk MD-02 MD-02
D D 1 B 1 x d ,1D x d 1,1D 1 x b 1,1B 1 x d ,2D x d 1,2D 1 x b 1,2B 1 x d ,3D x d 1,3D 1 x b 1,3B 1 x d ,4D x d 1,4D 1 x b 1,4B 1
-
Neraca massa overall dan komponen untuk MD-03 MD-03
B D 2 B 2 x b ,1B x d 2,1D 2
x b 2,1B 2
x b ,2B x d 2,2D 2
x b 2,2B 2
x b ,3B x d 2,3D 2
x b 2,3B 2
x b ,4B x d 2,4D 2
x b 2,4B 2
Pengenalan Aplikasi MATLAB dalam Teknik Kimia
27
BAB 4 Penyelesaian Persamaan Non-Linier Dalam bidang teknik Kimia sering dijumpai persoalan mencari akar persamaan non linier f(x) = 0 yang sulit diselesaikan dengan manipulasi matematika analitis. Contoh PersamaanPersamaan Tak Linier Jenis Pers. Tak Linier
Contoh
Persamaan Kuadrat
x 2
4x 3 0
Persamaan Polinomial
x 4
6x3 7x2 6x 8 0
Persamaan Transenden
sin x 2exp(x2 ) 0
Persamaan Logaritmik
ln(1 x2 ) 2e 2exp(x2 ) 0
Matlab menyediakan fasilitas untuk menyelesaikan jenis persamaan-persamaan di atas yang telah tersusun dalam fungsi yaitu ‘fzero’. Syntax yang digunakan untuk menuliskan fzero adalah z = (‘fzer (‘fzero’, o’,ini initia tial l guess) guess)
Contoh 4.1 Mencari akar persamaan persamaan. Diketahui persamaan :
f ( ) = x 3 – 2 – 5, akan dicari nilai x yang menyebabkan fungsi f(x) sama dengan nol. Penyelesaian: tulis dalam M-file func functi tion on y = f(x) f(x) y = x.^3 x.^3-2 -2*x*x-5; 5;
Untuk mendapatkan nol mendekati 2, tuliskan : z = fzer fzero( o(‘f ‘f’, ’,2) 2) z =
2.0946
Pengenalan Aplikasi MATLAB dalam Teknik Kimia
28
Contoh 4.2 Mencari temperatur temperatur untuk suatu harga harga Cp tertentu tertentu (diambil dari Computational Methods for Process Simulation ”, Ramirez, Butterworths, 1989) Diketahui Diketahui sebuah persamaan kapasitas panas sbb. :
Cp 0.716 4.257 E 6T
kJ kg . K
15.04 T
dan T dalam K
(i)
Akan ditentukan ditentukan temperatur pada saat Cp = 1 kJ/kg.K. Untuk itu, ubahlah persamaan di atas menjadi :
f (T ) 1 0.716 4.257 E 6T
15.04
T
0
(ii)
Penyelesaian : Tahap 1 : membuat membuat fungsi yang dapat mengevaluasi mengevaluasi persamaan (ii) function f = fung fungsi si(T (T) ) % fun fungsi gsi ya yang ng aka akan n didi-nol nol-ka -kan. n. f = 1 - 0.71 0.716 6 + 4257 4257EE-6* 6*T T - 15.0 15.04/ 4/sq sqrt rt(T (T); );
Apabila fungsi ini diplot (fplot(‘fungsi’,[100 300]) akan diperoleh grafik sbb. : 0.8 0.6 0.4 0.2 ) T ( f
0
-0.2 -0.4 -0.6 -0.8 100
120
140
160
180
200 T (K)
220
240
260
280
300
Untuk Untuk mendap mendapatk atkan an harga harga penol penol dari dari fungsi fungsi tersebu tersebutt diguna digunakan kan fungsi fungsi fzero dengan tebakan awal 100 : » fzero('fungsi',100) fzero('fungsi',100) ans ans = 189.7597
Diperoleh T = 189.7597 K pada saat Cp = 1 kJ/kg.K.
Pengenalan Aplikasi MATLAB dalam Teknik Kimia
29
Latihan Diketahui persamaan Van Der Waals sebagai berikut:
P a v b RT 2 v
a b
Dimana :
Dike Diketa tahu huii :
27 R 2T c 2
(1A.1)
(1A.2)
P 64 c RT c
8P c
(1A.3)
v
= volum molar, L/mol
T
= suhu, K
R
= kons konsta tant ntaa gas gas univ univer ersal sal = 0,08 0,0820 206 6 atm.L atm.L/m /mol ol.K .K
Tc
= suhu suhu kriti kritis, s, K (405 (405,5 ,5 K untu untuk k Amon Amonia) ia)
Pc
= teka tekana nan n kritis kritis,, atm (111 (111,3 ,3 atm atm untu untuk k Amon Amonia) ia)
Teka Tekana nan n redu reduks ksii
P r
P P c
(1A.4)
Faktor kompresibilitas
Z
Pv RT
(1A.5)
(a) Hitung volum molar dan faktor kompresibilitas untuk gas amonia pada P = 56 atm dan suhu = 450 K dengan menggunak menggunakan an persamaan keadaan Van Der Waals? (b) Ulangi Ulangi perhitungan perhitungan untuk tekanan reduksi reduksi berikut : Pr = 1, 2, 4, 10, dan 20 ! (c) (c) Baga Bagaim iman anaa
hubu hubung ngan an anta antara ra fakt faktor or komp kompre resi sibi bili lita tass
dan dan
teka tekana nan n
redu reduks ksii
(gambarkan dalam sebuah grafik) ? Petunjuk Penyelesaian
Persamaan (1A.1) perlu disusun kembali sehingga menjadi bentuk : v 2 av ab (1A.6) F (v ) Pv 3 Pb RT Untuk mendapatkan nilai v maka: F(v) = 0 (1A.7)
Pengenalan Aplikasi MATLAB dalam Teknik Kimia
30
BAB 5 Penyelesaian Persamaan Non-Linier Simultan Bentuk umum persamaan non-linier simultan adalah: f (1) = f = f 1 ( 1 ,x2 , 3 , ..., x n) = 0 f (2) = f = f 2 ( 1 ,x2 , 3 , ..., x n) = 0 f (3) = f = f 3 ( 1 ,x2 , 3 , ..., x n) = 0 ................................................ f (n) = f = f 1 ( 1 ,x2 , 3 , ..., x n) = 0 Dalam hal ini akan dicari harga x 1 , x2 ,…, xn. Dalam MATLAB, jenis persamaan di atas dapat dapat diselesa diselesaika ikan n dengan dengan mengg mengguna unakan kan fasilitas fasilitas yang yang sudah sudah tersedi tersediaa yaitu yaitu fungsi fungsi fsolve. Contoh 5.1 x 3 3 xy 2 3
1/ 2 2 y y 3 3 / 2
Langkah 1 Buat terlebih dahulu fungsi sistem persamaan taklinier dalam m-file. Langkah 2 Buat program pengeksekusi menggunakan fsolve pada m-file yang berbeda atau dapat juga langsung di command window. Langkah 3 Jalankan program pengeksekusi. function f = sist sistem em(x (x) ) f=[x(1)^3-3*x(1)*x(2)^2-0.5 3*x(1)^2*x(2)-x(2)^3-sqrt(3)/2]
>>[x,fva >>[x,fval] l] = fsolve(' fsolve('sist sistem', em',[1 [1 2]) Optimization terminated: first-order optimali optimality ty is less than options. options.TolF TolFun. un. x = 2.5198
1.5874
fval fval = 1.0e-0 1.0e-010 10 * 0.1930 0.0966
Contoh 5.2 Reaksi reformasi kukus berlangsung menurut rangkaian reaksi kesetimbangan berikut: CH4(g) + H 2O(g)
CO(g) + H2 (g)
R-1
CO(g) + H2O(g)
CO2(g) + H2 (g)
R-2
Pengenalan Aplikasi MATLAB dalam Teknik Kimia
31
Pada Pada suhu suhu 2000 2000 K harga harga konstan konstanta ta kesetimb kesetimbang angan an untuk untuk masing masing-ma -masing sing reaksi reaksi adalah adalah 1,930x10-4 dan 5,528. Tentukan komposisi kesetimbangan komponen-komponen apabila Gas umpan berkomposisi 20% CH
4(g)
dan 80% H O(g) berada pada kondisi suhu 2000 K 2
dan tekanan 1 atm. Jawaban Misal ditetapkan basis perhitungan 10 mol gas umpan
derajat reaksi dari reaksi pertama e2 derajat reaksi dari reaksi kedua e1
Fraksi mol kesetimbangan setiap komponen dapat dinyatakan sebagai berikut:
e1 e2
Y CO
Y CO2
Y H 2
10 2e1 e2 10 2e1
Y CH 4
3e1 e2 10 2e1
Y H2O
8 e1 e2 10 2e1
2 e1 10 2e1
Persamaan konstanta kesetimbangan dinyatakan sebagai berikut: K 1
YC O YH32 P 2 YC H 4 YH 2O
K 2
YC O 2 YH 2 YC O YH 2O
3
e1 e2 3e1 e2 K 1 2 2 e1 8 e1 e2 10 2e1 e2 3e1 e2
e1 e2 8 e1 e2
K 2
Berikut ini pemrograman MATLAB-nya. function y = KsT(e KsT(e,K1 ,K1,K2 ,K2) ) %Siste %Si stem m Per Pers. s.tak tak lin linier ier yan yang g aka akan n din dinolk olkan an y = [(e(1)-e(2))*(3*e(1)-e( [(e(1)-e(2))*(3*e(1)-e(2))^3 2))^3 /((2-e(1))*(8-e(1) /((2-e(1))*(8-e(1)… - e(2))*(1 e(2))*(10+2* 0+2*e(1) e(1))^2) )^2) - K1 e(2)*(3* e(2)*(3*e(1) e(1)+e(2 +e(2)) )) / ((e(1)-e ((e(1)-e(2)) (2))*(8*(8-e(1) e(1)-e(2 -e(2))) ))) - K2];
clear clc K1 = inpu input( t(‘ ‘Mas Masuka ukan n kon konsta stanta nta kst kst. . rea reaksi ksi 1 = '); K2 = inpu input( t(‘ ‘Mas Masuka ukan n kon konsta stanta nta kst kst. . rea reaksi ksi 2 = '); %Pencari %Penca ri nol fun fungsi gsi KsT KsT.m .m e = fsolve fsolve(@ (@(e) (e) KsT(e,K KsT(e,K1,K 1,K2), 2),[1 [1 0.5])
Eksekusi di MATLAB command window
Pengenalan Aplikasi MATLAB dalam Teknik Kimia
32
>>contoh2 Masuka Masukan n harga harga konsta konstanta nta kst. kst. reaksi reaksi 1 = 1.93e1.93e-4 4 Masuka Masukan n harga harga konsta konstanta nta kst. kst. reaksi reaksi 2 = 5.528 5.528 Optimiza Optimization tion terminat terminated: ed: first-or first-order der optimali optimality ty is less than options.TolFun. e = 0.7480
0.6920
Latihan Beberap Beberapaa reaksi reaksi setimba setimbang ng berlang berlangsun sung g dalam dalam reaktor reaktor batch batch (volum (volumee konstan konstan)) dengan dengan persamaan reaksi sebagai berikut :
A B C D B C X Y A X Z Tentukan konsentrasi masing-masing komponen pada saat setimbang jika diketahui C A0 = CB0 = 1.5, K 1 = 1.06, K 2 = 2.63 dan K 3 = 5. Lakukan perhitungan dengan estimasi nilai awal sebagai berikut : (a) CD = CX = CZ = 0 (b) CD = CX = CZ = 1 (c) CD = CX = CZ = 10 Petunjuk Penyelesaian : Sistem persamaan aljabar menggambarkan kesetimbangan rekasi di atas. Hubungan Hubungan kesetimbangan kesetimbangan non-linier non-linier menggunakan menggunakan kesetimbanga kesetimbangan n termodinamika termodinamika dan hubungan linier diperoleh dari stoikiometri reaksi.
K C 1
C C C D C AC B
K C 2
C C C D C AC
K C 3
C C C D C C
C A = C AO – C D - C Z , C = C BO BO – C D – C Y Y C C C = C D – C Y Y , C Y Y = C X + C Z Pada sperangkat persamaan ini, C ini, C A dan C Z A , C , C C C , C D , C , C Y Y dan C Z adalah konsentrasi berbagai komponen pada kesetimbngan yang dihasilkan dari konsentrasi awal hanya C AO dan C O. Konstanta kesetimbangan K kesetimbangan K C1 dan K C3 C1 , K C2 C2 dan K C3 telah diketahui nilainya.
Pengenalan Aplikasi MATLAB dalam Teknik Kimia
33
BAB 6 Penyelesaian Persamaan Diferensial Biasa Definisi PDB Persamaan diferensial biasa adalah persamaan diferensial yang terdiri atas fungsi turunan satu buah variabel bebas. Contoh: Persamaan Persamaan gaya geser ( shear stress) stress) pada aliran fluida dirumuskan sbb.
d z dx
g
Perhatikan PDB hanya memiliki satu buah variabel bebas yaitu x dan satu variabel terikat yaitu τxz. Aplikasi PDB PDB banyak ditemukan pada pemodelan-pemodelan teknik reaktor, kinetika reaksi kimia, peristiwa-peristiwa perpindahan dll. Klasifikasi PDB Berd Berdas asar arka kan n orde ordeny nyaa PDB PDB terd terdir irii atas atas tiga tiga jeni jeniss (pal (palin ing g umum umum dite ditemu muka kan n dala dalam m permasalahan teknik kimia). dy
Orde 1
y kx
dx
d2 y
Orde 2
2
dx
d3y
Orde 3
dx 3
a
dy dx
kx
d2y dx 2
2
dy b kx dx
Berdasarkan ordenya PDB terdiri atas dua jenis. 1. Lini Linier er Persamaan umum PDB linier dirumuskan sbb:
bo x
dn y dxn
b1 x
d n1 y
dy
dx
dx
... bn1 x n 1
bn x y R x
2. Takl Taklin inie ier r PDB yang tidak memenuhi persamaan umum PDB linier di muka dikelompokan ke dalam PDB tak linier. Salah satu kegunaan MATLAB dalam teknik adalah aplikasinya untuk meneyelesaikan persamaan secara numeris persamaan diferensial biasa. MATLAB memiliki penyelesaian ode yang yang berbeda berbeda yang yang memung memungkin kinkan kan ode menyeles menyelesaik aikan an secara secara akurat akurat dan efisien efisien
Pengenalan Aplikasi MATLAB dalam Teknik Kimia
34
tergantung pada tingkat kesulitan (stiffness) ode. Stiffness adalah perubahan relative pada penyelesaian satu persamaan diferensial. Terdapat Terdapat cara berbeda untuk menyusun menyusun dan mengeksekusi mengeksekusi penyelesaian penyelesaian ode, namun untuk kali ini suatu system yang menggunkanan m-files banyak untuk setap penyelesaian ode akan akan diberi diberikan kan.. Dua m-files m-files utama utama yang yang diperlu diperlukan kan adalah adalah file eksekus eksekusii (run) (run) dan ile fungsi fungsi.. Untuk Untuk penyeles penyelesaian aian sutu ode dlam MATLA MATLAB B semua semua ode harus didefini didefinisika sikan n dalam suatu fungsi fungsi m-file. Ketika memasukkan memasukkan kedalam kedalam file fungsi, persamaan persamaan diferensial harus memiliki order satu berbentuk dy/dx dy/dx = f(y,x). File fungsi harus berisi: 1. Defi Defini nisi si fung fungsi si sepert sepertii function dmdt=nama_file(t,m), dima dimana na t adal adalah ah variable variable bebas dan m adalah variable variable tak bebas order satu. 2. Jika variab variabel el global global diguna digunakan kan,pe ,perin rintah tah global global harus harus disisip disisipkan kan setelah setelah defini definisi si fungsi 3. Persamaan Persamaan diferensial diferensial harus harus dalam bentuk bentuk deskripsi deskripsi di atas, misal: misal: dmdt=f(m,t) Nama file, variable (m dan d an t), t) , dan dmdt dapat berubah-ubah. Contoh 6.1 Suatu fluida dengan densitas tetap mengalir ke dalam tangki besar yang kosong dan tak tentu pada 8 L/s. Sebuah kran dipasang untuk mengatur aliran keluar pada laju tetap 4 L/s. Turunkan dan selesaikan persamaan diferensial yang menggambarkan proses ini, di atas interval 100 detik.
Penyelesaian : Neraca massa: Laju Akumulasi = input – Output d ( V ) dt
(8 4 )
Karena densitas konstan, sehingga d (V ) dt
(8 4 )
dalam liter per detik. Kondisi Kondisi awal pada waktu t = 0, volume dalam tangki tangki = 0. Berikut penyelesaan penyelesaan persamaan persamaan di atas. functi function on dvdt dvdt = fluida fluida(t, (t,v) v) dvdt=4
File fluida run digunakan untuk mengeksekusi penyelesaian. List penulisan program adalah
Pengenalan Aplikasi MATLAB dalam Teknik Kimia
35
to=0; tf=100; tspan=[to tspan=[to tf]; %inter %interval val integrasi integrasi v0=0 %kondi %ko ndisi si awa awal l [t,v]=ode45(’fluida’ [t,v]=ode45(’fluida’tspan,v0) tspan,v0) Plot(t,v(:,1)) Xlabel(‘T Xlabel(‘Time ime (s) (s)’ ’) Ylabel (‘vol (‘vol in tan tank(L k(L)’ )’) ) Title(‘fluida’ Title(‘fluida’) )
Grafik yang dihasilkan adalah:
Contoh Contoh 6.2 Simulasi Simulasi Reaktor Reaktor Batch Reaktor batch adalah reaktor yang digunakan secara sekali tempuh. Artinya umpan dimasukkan dimasukkan satu kali di awal reaksi dan produk dikeluarkan dikeluarkan pada akhir reaksi. Selama reaksi tidak ada umpan yang masuk ataupun produk yang keluar. Kecepatan proses biasanya diukur dari kecepatan pengurangan umpan :
dC A dt
r A
Apabila kecepatan reaksi dapat didefinisikan sebagai :
Pengenalan Aplikasi MATLAB dalam Teknik Kimia
36
r A
kC A K C A
maka persamaan persamaan diferensial di atas menjadi :
dC A dt
kC A K C A
Jika harga k = 0.01, K = 1.03 dan C A pada t = 0 (awal reaksi) adalah 0.5 mol/liter, maka konsentrasi A setiap waktu dapat ditentukan dengan menyelesaikan persamaan diferensial di atas. Catatan : persamaan persamaan tersebut tidak dapat diselesaikan diselesaikan secara analitik karena bersifat bersifat tak linier, sehingga harus diselesaikan secara numerik. Langkah pertama, buatlah fungsi yang dapat mengevaluasi fungsi ruas kanan persamaan diferensial tsb. function yprime yprime = furuka(t furuka(t,Ca) ,Ca) % men menghi ghitun tung g fun fungsi gsi rua ruas s kan kanan an dar dari i per persam samaan aan ner neraca aca mas massa sa rea reakt ktor or batch yprime yprime = 0.1*C 0.1*Ca/( a/(1.0 1.03 3 + Ca); Ca);
Kemudian langkah berikutnya adalah menggunakan fungsi ode23 atau ode45 yang telah disediakan Matlab untuk menentukan konsentrasi A setiap waktu. [t,Ca] [t,Ca] = ode23('f ode23('furuk uruka',[ a',[0 0 50],0.5) 50],0.5) t = 0 1.2240 6.2240 11.2240 16.2240 21.2240 26.0582 30.4158 34.4216 38.2175 41.8888 45.4822 49.0247 50.0000
Pengenalan Aplikasi MATLAB dalam Teknik Kimia
37
Ca = 0.5000 0.4611 0.3240 0.2203 0.1456 0.0941 0.0607 0.0405 0.0277 0.0193 0.0136 0.0096 0.0068 0.0062
Apabila harga k bergantung pada temperatur menurut persamaan Arhenius berikut :
k 10 8 e
95 . 000 RT
dan reaksi yang terjadi bersifat eksotermik eksotermik ( H = 432 kJ/mol) dan dilaksanakan pada temperatur temper atur 500 K, maka persamaan-persamaan pers amaan-persamaan neraca massa dan energi sistem adalah sbb. :
8
dC dt
Cp
dT dt
10 e
95.000 RT
C A
K C A 8
10 e
95.000 RT
K C A
C A
( H )
Jika dan Cp dianggap sama dengan air (1000 kg/m 3 dan 4.3 kJ/kg), maka fungsi furuka menjadi : function yprime yprime = furuka(t furuka(t,y) ,y) % men menghi ghitun tung g fun fungsi gsi rua ruas s kan kanan an dar dari i per persam samaan aan ner neraca aca mas massa sa re reakt aktor or batch Ca = y(1) y(1); ; T = y(2) y(2); ; yprime yprime = zeros(2, zeros(2,1); 1); yprime(1 yprime(1) ) = - 1E8*exp( 1E8*exp(-950 -95000/( 00/(8.31 8.314*T) 4*T))*Ca )*Ca/(1. /(1.03 03 + Ca); yprime(2 yprime(2) ) = 1E8*exp( 1E8*exp(-950 -95000/( 00/(8.31 8.314*T) 4*T))*Ca )*Ca/(1. /(1.03 03 + Ca)*(432*1000)/(1000*4.3);
Kemudian integrasikan dengan batas yang sama : Kemudian integrasikan dengan batas yang sama :
Pengenalan Aplikasi MATLAB dalam Teknik Kimia
38
[t,Y] [t,Y] = ode23('f ode23('furuk uruka',[ a',[0 0 50],[0.5 50],[0.5 500]) 500]) t = 0 5 10 15 20 25 30 35 40 45 50
Y = 0.5000 0.5000 0.4799 0.4799 0.4585 0.4585 0.4357 0.4357 0.4112 0.4112 0.3850 0.3850 0.3570 0.3570 0.3271 0.3271 0.2953 0.2953 0.2618 0.2618 0.2271 0.2271
500.00 500.0000 00 502.01 502.0147 47 504.16 504.1645 45 506.46 506.4621 21 508.92 508.9204 04 511.55 511.5520 20 514.36 514.3673 73 517.37 517.3723 23 520.56 520.5644 44 523.92 523.9267 67 527.42 527.4201 01
Latihan Tiga buah tangki yang disusun seri digunakan untuk memanaskan minyak mentah sebelum diumpankan ke fraksinator untuk pemisahan lanjut.
Pada Pada saat saat awal, awal, masing masing-ma -masing sing tangki tangki diisi diisi dengan dengan 1000 kg minyak minyak pada pada suhu suhu 20 oC. Steam jenuh pada suhu 250 oC dikondensasikan di dalam koil yang tercelup pada masingmasing masing tangki. tangki. Minyak Minyak diumpa diumpanka nkan n ke tangki tangki pertam pertamaa dengan dengan laju 100 kg/men kg/menit it dan dialirkan ke tangki kedua maupun tangki dengan laju yang sama. Suhu minyak umpan adalah 20 oC. Tangki dilengkapi pengaduk sehingga pencampuran di dalam tangki dapat dianggap sempurna, dan suhu di dalam tangki seragam. Demikian juga dengan suhu aliran keluar tangki sama dengan suhu di dalam tangki. Kapasitas panas minyak, Cp = 2.0 kJ/kg. Laju perpindahan panas dari steam ke minyak tiap tangki dinyatakan dengan persamaan
Pengenalan Aplikasi MATLAB dalam Teknik Kimia
39
sebagai berikut :
Q Ua T steam T Dimana Ua = 10 kJ/mnt. oC yaitu perkalian antara koefisien transfer panas dan luas area perpindahan panas koil untuk u ntuk masing-masing tangki. Tentukan suhu steady state di tiap tangki, dan berapa interval waktu yang dibutuhkan agar T3 mencapai 99 % kondisi kondisi steady state-nya pada saat start-up start-up ? Petunjuk Penyelesaian : - Asumsi : i. Laju Laju alir alir minya minyak k menuj menuju u masin masing g – masin masing g tangk tangkii diangg dianggap ap sama sama (W (W 0 = W1 = W2 = W3 = W). ii. Densita Densitass minya minyak k konsta konstan, n, sehi sehingg nggaa jumlah jumlah (massa (massa dan dan volu volum) m) miny minyak ak di dalam dalam masing – masing tangki sama dan konstan konstan (M 1 = M2 = M3 = M).
-
Susun neraca neraca panas panas unsteady unsteady state masing masing – masing tangki. tangki. Untuk tangki 1 : Panas Akumulasi Akumulasi = Panas masuk – Panas keluar dT C p 1 WC p T 0 Ua T steam T 1 WC p T 1 dt Persamaan Persamaan di atas dapat disusun disusun kembali sebagai berikut :
dT 1 dt
WC p T 0
T 1 Ua T steam T 1 C p
Analog Analog untuk tangki 2 :
dT 2 dt
WC p T 1 T 2 Ua T steam T 2 C p
Untuk tangki 3 :
dT 3 dt
WC p T 2
T 3 Ua T steam T 3 C p
Pengenalan Aplikasi MATLAB dalam Teknik Kimia
40
BAB 7 Optimisasi Fungsi Optimisasi adalah usaha mendapatkan suatu keadaan dimana objektif dari keadaan tersebut maks maksimu imum/m m/min inim imum um.. Meto Metoda da nume numeri rik k untuk untuk mend mendap apat atka kan n nilai nilai optim optimum um dapa dapatt digunakan untuk berbagai keperluan.Untuk mencari harga minimum dan maksimum kita dapat menggunakan perintah fminsearch. Berikut ini cara penulisannya. [x,fval,exit [x,fval,exitflag] flag] = fminsearch(f fminsearch(fun,x0) un,x0)
keterangan: fun
= Fungs Fungsii yang yang akan akan dimini diminimum mumkan kan atau dimaks dimaksimu imumka mkan n
xo
= Tebakan awal
x
= Harga Harga x yang meny menyeb ebabk abkan an fung fungsi si mini minimu mum m atau atau maks maksim imum um
fval fval
= Nilai Nilai maksimu maksimum m atau minimu minimum. m.
exitflag = Kriteria penghentian proses iterasi. fminsearch mencapai kekonvergenan pada satu nilai x. Harga ini yang kita cari. Contoh 7.1 Optimasi Variabel Tunggal
Carilah titik minimum x 2 4 x 3 0 dengan menggunakan subrutin fiminsearch dalam MATLAB. Penyelesaian; File fungsi: kuadrat=x^2+4*x+3
File eksekusi: >> [x,fval,exitflag]=fmin [x,fval,exitflag]=fminsearch('kua search('kuadrat',2) drat',2)
x = -2.0000 fval fval = -1 exitfl exitflag ag = 1
Contoh 7.2 Optimasi Variabel Jamak
Carilah titik minimum dari persamaan multivariabel berikut ini.
y (x1 3)2 0.5(x2 4)2 3 Pengenalan Aplikasi MATLAB dalam Teknik Kimia
41
Penyelesaian: %multivaribel.m function y = multivar multivariabe iabel(x) l(x); ; y = (x(1 (x(1))-3) 3)^2 ^2 + 0.5* 0.5*(x (x(2 (2))-4) 4)^2 ^2 + 3;
%kasus12 [x,fval] = fminsearch('multivaria fminsearch('multivariabel',[1,16] bel',[1,16]) ) >> kasus1 kasus12 2 x = 3.0000
4.0000
Contoh 7.3 Regresi dengan meminimumkan kuadrat terkecil Sekumpulan data percobaan disajikan pada tabel berikut ini (file optim.dat) : 0 0.1 0.1 0.2 0.2 0.3 0.3 0.4 0.4 0.5 0.5 0.6 0.6 0.7 0.7 0.8 0.8 0.9 0.9 1 1.1 1.1 1.2 1.2 1.3 1.3 1.4 1.4 1.5 1.5 1.6 1.6 1.7 1.7 1.8 1.8 1.9 1.9 2
:8.132429853 :6.7 :6.740 4087 8765 6506 06 :5.8 :5.818 1835 3508 0842 42 :4.7 :4.745 4529 2933 3322 22 :4.2 :4.264 6441 4137 3716 16 :3.7 :3.752 5277 7758 5897 97 :3.1 :3.188 8887 8757 5704 04 :2.3 :2.359 5909 0923 2343 43 :2.1 :2.107 0737 3751 5147 47 :2.0 :2.097 9726 2672 7258 58 :1.897768103 :1.6 :1.675 7504 0468 687 7 :1.3 :1.348 4853 5391 9115 15 :1.1 :1.144 4496 9614 1449 49 :1.1 :1.124 2425 2533 3306 06 :0.9 :0.906 0649 4958 5819 19 :0.5 :0.504 0467 6717 1754 54 :0.6 :0.670 7049 4914 1443 43 :0.5 :0.559 5904 0445 4565 65 :0.7 :0.726 2615 1534 3496 96 :0.657388383
Data ini memiliki model matematik sbb. :
f(x) α1 e 1 2 e 2 Untuk menentukan parameter-parameter 1, 2, 1, dan 2, dapat dilakukan x
x
tahapan berikut : 1. Buatlah Buatlah fungsi fungsi pengeva pengevaluasi luasi f(x).
Pengenalan Aplikasi MATLAB dalam Teknik Kimia
42
function f = model(x, model(x,alph alpha,be a,beta); ta); % fu fung ngsi si mo mode del l da dari ri da data ta f = alpha(1) alpha(1)*exp *exp(bet (beta(1) a(1)*x) *x) + alpha(2) alpha(2)*exp *exp(bet (beta(2) a(2)*x); *x);
2. Fungsi Fungsi berikut ini akan akan dibandingk dibandingkan an dengan data data untuk harga harga alpha dan beta tertentu. function phi = bandin banding(x g(x) ) % fun fungsi gsi yan yang g mem memban bandin dingk gkan an dat data a den dengan gan mod model el global xd yd alpha alpha = x(1:2) x(1:2); ; beta beta = x(3:4) x(3:4); ; yc = model(xd model(xd,alp ,alpha,b ha,beta) eta); ; phi phi = norm norm(y (yc c - yd); yd);
3. Terakhir, Terakhir, buat buat script sebaga sebagaii program program utamanya. utamanya. %main prog %main program ram opti optim.m m.m clear global xd yd M = dlmr dlmrea ead( d('optim.dat' 'optim.dat', ,':' ':'); ); xd = M(:, M(:,1) 1); ; yd = M(:, M(:,2) 2); ; % te temb mbak akan an aw awal al al alph pha a [5 3] 3], , be beta ta [[-2 2 -1 -1] ] x0 = [5 3 -2 -1]; xf = fmin fmins( s('banding' 'banding',x0) ,x0)
Hasil perhitungan adalah sbb. : » opti optim m xf = 4.4279
3.6638
-2.3275
-1.0246
Latiha Latihan n :
Tabel berikut adalah data tekanan uap Benzen pada berbagai suhu. Suhu T ( oC) -36.7
Tekanan P (mmHg) 1
-19.6
5
-11.5
10
-2.6
20
7.6
40
Pengenalan Aplikasi MATLAB dalam Teknik Kimia
43
15.4
60
26.1
100
42.2
200
60.6
400
80.1
760
(a) Plot data-data data-data tersebut ke dalam persamaan polinomial polinomial order 4 ! (b) Plot data-data tersebut tersebut ke dalam persamaan Clausius-Clapey Clausius-Clapeyron ron ! (c) Plot data-data data-data tersebut ke dalam persamaan Antoine Antoine !
Gambar Gambarkan kan hubung hubungan an antara antara data data dan nilai nilai terhitu terhitung ng masingmasing-masi masing ng dalam dalam suatu suatu grafik.
Referensi:
Cutlip, M. B., Shacham, M., 1999, Problem Solving in Chemical Engineering with umerical Methods. Methods. Prentice-Hall: Englewood Cfiffs, C fiffs, NJ. NJ . Finlayson, B.A., 2006, Introduction to Chemical Engineering Computing , Computing , John Wiley & Sons Inc., New Jersey http://www.mathworks.com,, http://www.mathworks.com
Pengenalan Aplikasi MATLAB dalam Teknik Kimia
44