bab 3 persamaan tak linier

Upload: sigit-sulistiono

Post on 06-Jul-2015

698 views

Category:

Documents


25 download

TRANSCRIPT

Bab 3 Persamaan TakLinierBab 3Persamaan Tak LinierPersamaan Linier c mx y + Gambar 3.1 Kurva linierPersamaan Tak LinierContoh:Gambar 3.2 Kurva tak linierHalaman 48 dari 101y x yxLINIERexp( ) y x yxNON-LINIERBab 3 Persamaan TakLinierBerikut ini beberapa contoh Persamaan Tak LinierTabel 3.1 Contoh Persamaan Tak linierJenis Pers.Tak LinierContohPersamaan Kuadrat24 3 0 x x + Persamaan Polinomial4 3 26 7 6 8 0 x x x x ++ Persamaan Transenden2sin 2exp( ) 0 x x Persamaan Logaritmik2 2ln(1 ) 2exp( ) 0 x x + Dalam aplikasinya di bidang teknik kimia, persamaan tak linier memiliki peranan yang sangat penting.Tabel 3.2 Aplikasi Persamaan Tak Linier dalam bidang teknik kimiaAplikasi Pers. Tak Linier ContohNeraca Massa dan Energi,0 , ,0out inT To out out in inP i P iTo ToH N C dT N C + TermodinamikaPersamaan gas nyata/kubik,Kesetimbangan reaksi kimia, (12RT aPV b V 0 00 0 001ln 0o o T T o o op pT TC CG H H dTK dTRT RT T R R T + + + Operasi Teknik Kimia, dll. (21(1 ) 0nj jFj jz FF q| ` . ,1) Persamaan kubik tersebut diusulkan oleh Johannes Diderik van der Waals (1873), Fisikawan Belanda, peraih nobel Fisika pada tahun 1910.2) Persamaan Underwood untuk distilasi multikomponen.Klasifikasi persamaan tak LinierBerdasarkan jumlah banyaknya persamaan tak linier dibagi menjadi duaHalaman 49 dari 101Bab 3 Persamaan TakLinier1. Persamaan TunggalPersamaan tak linier hanya satu buah.Contoh:0 3 22 + x x2. Persamaan Serentak/Sistem Persamaan Persamaan tak linier terdiri atas minimal dua buah.Contoh : ( ) { ( ) { 0 2 / cos 20 2 / sin 2 + y x xy x xSolusi Persamaan Tak Linier TunggalMencari akar-akar x yang membuat harga y atau f(x) menjadi nol.? .... 0 ) ( x x fAda berbagai metode numerik yang dapat digunakan untuk menyelesaikan persaman tak linier tunggal, diantaranya: Metode Penyetengahan Interval Metode Substitusi Berurut Metode Wegstein Metode Interpolasi Linear Metode Newton-Raphson ,dll.Dalam diktat ini hanya akan diterangkan metode penyetengahan interval dan metode Newton-Raphson..Metode penyetengahan interval Tabel 3.3 Karakteristik metode penyetengahan intervalNo Keunggulan KelemahanHalaman 50 dari 1010 ) ( x f( )( )( ) 0 ,..., ,...0 ,..., ,0 ,..., ,2 12 1 22 1 1N NNNx x x fx x x fx x x fBab 3 Persamaan TakLinier1. Sederhana Tebakan awal terdiri atas dua buah [a,b] dan harus memenuhi f(a)*f(b) 0 terpenuhi. Jika terpenuhi, harga a diganti dengan m. Jika tidak terpenuhi harga b yang diganti dengan m.Periksa: f(0.1) * f(5.05) = -1*0.7033 = -0.7033 < 0. Syarat tidak terpenuhi harga b diganti dengan m, sehingga b yang baru = 5.05.9. Periksa kriteria iterasi, |(a - b)/a| > Tol. Jika kriteria iterasi terpenuhi proses kembali ke langkah 5. Jika tidak dilanjutkan ke langkah berikutnya..Periksa: |(0.1 5.05)/0.1| = 49.5 > 1e-5. Kriteria iterasi terpenuhi, maka kembali ke langkah 5.10. Hitung harga akar pembuat nol, 2 / ) ( b a x + Halaman 51 dari 101Bab 3 Persamaan TakLinier11. SelesaiAlgoritma yang telah disusun dimuka, dapat juga dituliskan dalam bentuk diagram Alir (flow chart) sebagai berikut: Gambar 3.3 Algoritma metode penyengahan intervalPemrograman metode penyetengahan interval dengan menggunakan bahasa MATLAB.Halaman 52 dari 101mulaiDefinisikan f(x) dan toleransiHitung harga:f(a), f(b)Tetapkan hargaa dan bf(a)*f(b)0a=mf(a)=f(m)yab=mf(b)=f(m)tidaktidakyax*=(a+b)/2Selesai|(a-b)/a|>tolBab 3 Persamaan TakLinierContoh:Carilah akar-akar persamaan kuadrat 24 3 0 x x + + dengan menggunakan metode penyetengahan interval!.%kuadrat.mfunction y = kuadrat(x)y = x^2+4*x+3;Perintah pada command window sbb:>>biseksi(kuadrat,-2,1,1e-6)ans = -1.0000>> biseksi('kuadrat',-2,-4,1e-6)ans = -3.0000Dari perhitungan menggunakan metode bisection diperoleh akar-akar dari persamaan kuadrat adalah [-1,-3].Metode Newton-RaphsonTabel 4.3 Karakteristik metode penyetengahan intervalbiseksi.mfbiseksi.ni,memempunyai,dua.,tujuanutmaa tidak memakai nama-nama yang telah didefinisikan oleh MATLAB. dalam m-file.is perintahunction x = biseksi(fungsi,a,b,tol) % a = tebakan awal pertama, b = tebakan awal kedua% tol = toleransiwhile abs((a - b)/a) > tolfa = feval(fungsi,a);fb = feval(fungsi,b);if fa*fb > 0error('masukan tebakan a dan b yang berbeda') endm = (a + b)/2;fm = feval(fungsi,m);if fm*fa > 0;a = m;elseb = m;endendx=(a+b)/2;Halaman 53 dari 101Bab 3 Persamaan TakLinierNo Keunggulan Kelemahan1. Hanya butuh satu tebakan awal.Kekonvergenan adakalanya gagal dicapai.2. Laju konvergensi cepatGambar 3.4 Metode newton-Raphson11 1( ) ( ) 0 ( )'( )n n nnn n n nf x f x f xf x gradienx x x x++ + 1( )'( )nn nnf xx xf x+ Metode Newton-Raphson.Algoritma Metode Newton-Raphson1. Mulai2. Definisikan persamaan tak linier dan turunannya.Misalkan: f(x) = log(x). ) 10 ln /( 1 ) ( ' x x f 3. Tetapkan harga tebakan awal (0x) dan besar toleransinyaMisalkan: 1 . 00 x. Tol = 1e-54. Nyatakan 0x x dan 10+ x x.x = 0.1x0=0.1+1=1.1nx( )nf x1 nx+0xyHalaman 54 dari 1011( )'( )nn nnf xx xf x+ Bab 3 Persamaan TakLinier5. Periksa kriteria iterasi |(x x0)/x| > Tol. Jika kriteria iterasi terpenuhi proses dilanjutkan. Jika kriteria iterasi tidak terpenuhi proses dihentikan. Akar pembuat nol diperoleh.6. Nyatakan x0 = x.x0 = 0.17. Hitung harga f(x0) dan f(x0).f(0.1) = -1f(0.1) = 1/(0.1*ln10) = 4.3438. Hitung harga ) ( ') (000x fx fx x 3303 . 0343 . 4) 1 (1 . 0 x9. Kembali ke langkah 510. Selesai.Halaman 55 dari 101Bab 3 Persamaan TakLinierGambar 3.5 Algoritma metode Newton-RaphsonMulaiNyatakan:x = x0x0 = x + 1tidakyaSelesaiNyatakan:x0 = xHitung harga:f(x0) dan f(x0)Hitung harga:x=x0-f(x0)/f(x0)|(x-x0)/x|>tolDefinisikanf(x) dan f(x),x0, tolTampilkan x* = xHalaman 56 dari 101Bab 3 Persamaan TakLinier%kuadrat.mfunction y = kuadrat(x)y = x^2+4*x+3;Kita gunakan contoh kasus yang sama dengan contoh pada metode bisection. 24 3 02 4y x xdyxdx + + +>> [x iter]=NewRap('kuadrat','dkuadrat',2,1e-6)x = -1.0000%NewRap.mfunction [x iter] = NewRap(fungsi,dfungsi,x0,tol)% fungsi =fungsi yang akan dicari akar-akarnya% dfungsi = turunan pertama fungsi% x0 = tebakan awal% tol = toleransiitermax = 100;iter = 0;x = x0;x0 = x + 1;% loop iterasiwhile abs((x - x0)/x) > tol & iter > [x iter]=NewRap('kuadrat','dkuadrat',-4,1e-6)x = -3.0000iter = 5Dari perhitungan menggunakan metode Newton Raphson diperoleh akar-akar dari persamaan kuadrat adalah [-1,-3].Subrutin dalam MATLAB untuk persamaan tak linier tunggalMATLAB telah menyediakan program untuk menyelesaikan persamaan linier tunggal yang telah menyatu dengan program MATLAB itu sendiri. Ada dua subrutin yang umum digunakan, yaitu roots dan fzero.Tabel 4.4 Perbandingan subrutin roots terhadap fzeroRutin Keunggulan Kelemahanroots.m 1. Seluruh akar dapat diketahui dengan hanya sekali menjalankan rutin.2. Tidak membutuhkan tebakan mula.1. Hanya untuk pers. kuadrat dan polinomial.fzero.m 1. Solusi bagi segala jenis pers tak linier.1. Hanya satu buah akar yang dapat diketahui sekali menjalankan rutin.2. Membutuhkan tebakan mula.Penggunaan roots:Penulisan perintah roots di Command window MATLABC(1)*X^N + ... + C(N)*X + C(N+1)Halaman 58 dari 101Bab 3 Persamaan TakLinierC = [C(1) C(2)........C(N)C(N+1)roots(C)Contoh persamaan kuadrat 24 5 0 x x + maka C(1)=1, C(2)=4, C(3)= -5.Carilah akar-akar persamaan kuadrat di bawah ini.24 5 0 x x + MATLAB Command window>> C=[1 4 -5]C = 1 4-5>> roots(C)ans =-5 1Penggunaan fzero:Penulisan fzero di MATLAB Command windowx =fzero(fungsi,x0)Contoh penggunaan fzero:24 3 0 x x + + Penulisan contoh di MATLAB Command window>> fzero('x^2+4*x+3',0)ans =-1Halaman 59 dari 101Bab 3 Persamaan TakLinierUntuk keteraturan dan kemudahan pemanggilan akan lebih baik mendefinisikan fungsi pada m-file.%kuadrat.mfunction y = kuadrat(x)y = x^2+4*x+3Baru kemudian kita panggil fungsi dari MATLAB Command window>> x = fzero('kuadrat',0)x =-1Untukmencari akar lainnya, ubah tebakan awalnya.>> x = fzero('kuadrat',-4)x = -3.0000Kasus 3 Aplikasi subrutin rootsJawaban:Persamaan Van der Waals2RT aPV b V 2 227 1dan 64 8c cc cRT RTa bP P Halaman 60 dari 101Kasus 3Tekanan uap n-butana pada temperatur 350 K adalah 9.4573 bar.Hitunglah volume molaruap jenuh dan cair jenuh n-butana padaKondisitersebut dengan menggunakan persamaan gas Van der Waals. (R=8.314j/mol.K ;Tc=425.1 K; Pc=37.96 bar) Transformasi ke dalam bentuk umum pers.polinomialBab 3 Persamaan TakLinier2 23 2 23 2( )( ) ( )( )( ) 0P V b V RTV a V bP V bV RTV aV abPV Pb RT V aV ab + + + % kasus3.mclearclc% Masukan kondisi operasiP = input('masukan tekanan, Pa = ');T = input('masukan temperatur, K = ');R = 8314 ; %J/(kmol.K)Pc = 37.96e5; %PaTc = 425.1;%K% Hitung konstanta a & ba = (27/64)*R^2*Tc^2/Pc;b = (1/8)*R*Tc/Pc;% Definisikan koefisien polinomialVdW=[P, -(P*b + R*T), a, -a*b];vol = roots(VdW)%liter/molEksekusi program kasus3.m. Masukan dan hasil di Command Window>>kasus3masukan tekanan, Pa = 9.4573e5masukan temperatur, K = 350vol =2.66690.33540.1910Halaman 61 dari 101Kasus 4 Aplikasi subrutin fzeroDiketahui sebuah persamaan kapasitas panas sbb.Tentukan temperatur pada saat Cp = 1 kJ/kg.K !615.040.716 4.257.kJCp E Tkg K T ] + ] ]Bab 3 Persamaan TakLinierLangkah 1 Membuat program fungsi yang akan dinolkan.%KapPns.mfunction f = KapPns(T,cp)%Persamaan tak linier yang akan dinolkanf = cp - 0.716 + 4257e-6*T - 15.04/T^0.5;Langkah 2 Membuat program pengeksekusi% kasus4.mclearclccp = input('masukan kapasitas panas,kJ/kg.K = ');T = fzero(@(T) KapPns(T,cp),100)Langkah 3 Eksekusi program kasus4.mMasukan dan hasil di Command Window>> kasus4masukan harga kapasitas panas,kJ/kg.K = 1T =189.7597Tugas 4Menyelesaikan persamaan tak linier tunggal dengan menggunakan subrutin MATLABTekanan uap n-butana pada temperatur 350 K adalah 9.4573 bar. Volume molar uap jenuh dan cair jenuh n-butana pada kondisitersebut dapat dihitung dengan menggunakan persamaan kubik Redlich-Kwong-Soave sebagai berikut:( )RT aPV b V V b +Dalam bentuk persamaan polinomial menjadi sebagai berikut::Halaman 62 dari 101Bab 3 Persamaan TakLinier3 2 2( ) 0 Z Z A B B Z AB + Dengan:bPBRT2 2aPAR TPVZRT2 20.4278CCR TaP;0.0867CCRTbP 21 1CTST ] | ` + ] ]. ,];20.48508 1.55171 0.15613 S + (R=8.314j/mol.K ;Tc=425.1 K; Pc=37.96 bar; =0.1931). Hitunglah volume molar uap jenuh dan cair jenuh n-butana pada kondisi itu !!.Sistem Persamaan Tak LinierSistem persamaan tak linier merupkan persamaan tak linier yang terdiri atas lebih dari satu buah persamaan tak linier.Solusi Sistem Persamaan Tak LinierMetode Newton1 21 2( , ) 0( , ) 0f x xf x x(1) (1) 1 1(1) (1)1 2 1 1(1) (1)(1) (1) 2 2 2 21 2| || |f fx xx x ff f fx xx x ] ] ]] ] ]] ] ]] ] ]J f ( 1) ( ) n nx x + +Halaman 63 dari 101Bab 3 Persamaan TakLinierfunction [xnew , iter]= Newton(fnctn,x0,rho,tol,varargin)%(c) by N. Mostoufi & A. Constantinides,January 1, 1999%Initializationif nargin < 4 | isempty(tol)tol = 1e-6;endif nargin < 3 | isempty(rho)rho = 1;endx0 = (x0(:).')'; % Make sure it's a column vectornx = length(x0);x = x0*1.1;xnew = x0;iter = 0;maxiter = 100;while max(abs(x-xnew)) > tol & iter < maxiteriter = iter + 1;x = xnew;fnk = feval(fnctn,x,varargin{:});% Set dx for derivationfor k = 1:nxif x(k) ~= 0dx(k) = x(k) / 100;elsedx(k) = 1/100;endend% Calculation of the Jacobian matrixa = x;b = x;for k = 1 : nxa(k) = a(k) - dx(k); fa = feval(fnctn,a,varargin{:});b(k) = b(k) + dx(k); fb = feval(fnctn,b,varargin{:});jacob(:,k) = (fb - fa) / (b(k) - a(k));a(k) = a(k) + dx(k);b(k) = b(k) - dx(k);end% Next approximation of the rootsif det(jacob) == 0xnew = x + max([abs(dx), 1.1*tol]);elsexnew = x - rho * inv(jacob) * fnk;endendif iter >= maxiterdisp('Warning : Maximum iterations reached.')end Halaman 64 dari 101Bab 3 Persamaan TakLinierContoh sistem persamaan tak linier.3 212 32( , ) 3 1/ 2 0( , ) 3 3 / 2 0f x y x xyf x y x y y Langkah 1 Buat terlebih dahulu fungsi sistem persamaan taklinier dalam m-file.%sistem.mfunction f = sistem(x)f=[x(1)^3-3*x(1)*x(2)^2-0.53*x(1)^2*x(2)-x(2)^3-sqrt(3)/2]Langkah 2 Buat program pengeksekusi menggunakan Newton.m pada m-file yang berbeda atau dapat juga langsung di command window.%run_sistem.m[x iter] = Newton('sistem',[1 2])Langkah 3 Jalankan program pengeksekusi. Klik debug/runLangkah 2 dapat di loncat dengan menuliskan langsung perintah eksekusi pada Command window >> [x iter] = Newton('sistem',[1 2])x =2.51981.5874iter = 7Subrutin dalam MATLAB untuk sistem persamaan taklinierSolusi sistem persamaan taklinier dapat menggunakan fsolve pada MATLAB. Contoh:3 22 33 1/ 23 3 / 2x xyx y y Langkah 1 Buat terlebih dahulu fungsi sistem persamaan taklinier dalam m-file.Halaman 65 dari 101Bab 3 Persamaan TakLinierLangkah 2 Buat program pengeksekusi menggunakan fsolve pada m-file yang berbeda atau dapat juga langsung di command window.Langkah 3 Jalankan program pengeksekusi. Kasus 5Reaksi reformasi kukus berlangsung menurut rangkaian reaksi kesetimbangan berikut:4( ) 2 ( ) ( ) 2( )( ) 2 ( ) 2( ) 23R-1 R-2g g g gg g gCH H O CO HCO H O CO H+ ++ +

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% CH4(g) dan 80% H2O(g) berada pada kondisi suhu 2000 K dan tekanan 1 atm.function f = sistem(x)f=[x(1)^3-3*x(1)*x(2)^2-0.53*x(1)^2*x(2)-x(2)^3-sqrt(3)/2]>>[X,FVAL] = fsolve('sistem',[1 2])Optimization terminated: first-order optimality is less than options.TolFun.X =2.51981.5874FVAL =1.0e-010 *0.19300.0966Halaman 66 dari 101Bab 3 Persamaan TakLinierJawabanMisal ditetapkan basis perhitungan 10 mol gas umpan 12derajat reaksi dari reaksi pertamaderajat reaksi dari reaksi keduaeeFraksi mol kesetimbangan setiap komponen dapat dinyatakan sebagai berikut:1 2110 2COe eYe+21 21310 2He eYe++21 21810 2H Oe eYe +22110 2COeYe+411210 2CHeYe+Persamaan konstanta kesetimbangan dinyatakan sebagai berikut:2 2 24 2 23 21 2 CO H CO HCH H O CO H OY Y P Y YK KY Y Y Y Berikut ini pemrograman MATLAB-nya.function y = KsT(e,K1,K2)%Sistem Pers.tak linier yang akan dinolkany = [(e(1)-e(2))*(3*e(1)-e(2))^3 /((2-e(1))*(8-e(1) - e(2))*(10+2*e(1))^2) - K1e(2)*(3*e(1)+e(2)) / ((e(1)-e(2))*(8-e(1)-e(2))) - K2];clearclcK1 = input(Masukan konstanta kst. reaksi 1 = ');K2 = input(Masukan konstanta kst. reaksi 2 = ');%Pencari nol fungsi KsT.me= fsolve(@(e) KsT(e,K1,K2),[1 0.5])( ) ( )( ) ( ) ( )31 2 1 21 21 1 2 132 8 10 2e e e eKe e e e +( )( ) ( )2 1 221 2 1 238e e eKe e e e+ Halaman 67 dari 101Bab 3 Persamaan TakLinierEksekusi di MATLAB command window>>kasus5Masukan harga konstanta kst. reaksi 1 = 1.93e-4Masukan harga konstanta kst. reaksi 2 = 5.528Optimization terminated: first-order optimality is less than options.TolFun.e = 0.74800.6920Tugas 5Menyelesaikan sistem persamaan tak linier dengan menggunakan subrutin MATLABSuatu reaksi elementerAB + C berlangsung dalam sebuah reaktor tangki berpengaduk kontinu. Laju umpan murni A, 12 mol/s pada temperatur 25 oC. Reaksi bersifat eksotermik, untuk itu digunakan air pendingin bertemperatur 50 oC untuk menyerap kalor yang dibebaskan reaksi. Asumsi konstanta kapasitas panas sama baik di sisi reaktan maupun produk, neraca energi untuk sistem ini dirumuskan sebagai berikut:, 0( ) ( )Ao R Ao P A aF X H F C T T UA T T + FA0 = laju molar umpan, mol/s.X = konversiHR = Kalor reaksi, J/(mol.K)CP,A = kapasitas panas A, J/(mol.K)T = temperatur reaktor, oCT0= temperatur referensi, 25 oCTa = temperatur air pendingin, oCHalaman 68 dari 101Bab 3 Persamaan TakLinierU = koefisien pindah panas total, W/(m2.K)A = luas pindah panas, m2Untuk reaksi orde pertama konversi dirumuskan sebagai berikut:1kXk+Dengan adalah waktu tinggal dalam sekon, dan k adalah laju reaksi spesifik dalam s-1 dihitung dengan menggunakan persamaan Arrhenius:650exp[ 3800/( 273)] k T +Hitunglah harga temperatur reaktor dan konversinya!. (HR=-1500 kJ/mol; =10 s; CP,A = 4500 J/(mol.K);UA/FA0=700 W.s/(mol.K).Halaman 69 dari 101Bab 3 Persamaan TakLinier_______________________________o0o________________________________Halaman 70 dari 101