Turunan numerik

  • Published on
    07-Jul-2015

  • View
    2.478

  • Download
    1

Embed Size (px)

Transcript

<ul><li> 1. Turunan NumerikNama Kelompok :Bobby Chandra A1</li></ul> <p> 2. Definisi Turunan (derivatif)f (x) =lim f ( x+h ) fx)h 0 h Bila persamaan fungsi f(x) diberikan secara eksplisit, maka kitadapat menentukan fungsi turunannya, f (x), f "(x), ..., f (n+1)(x), lalumenggunakannya untuk menghitung nilai turunan fungsi di x = t. Tetapi jika fungsi f(x) tidak diketahui secara eksplisit, tetapi kitahanya memiliki beberapa titik data saja. Pada kasus seperti ini kitatidak dapat menemukan nilai turunan fungsi secara analitik. Sebaliknya, pada kasus lain, meskipun f(x) diketahui secara eksplisittetapi bentuknya rumit sehingga menentukan fungsi turunannyamerupakan pekerjaan yang tidak mangkus2 3. Persoalan Turunan Numerik Persoalan turunan numerik ialah menentukanhampiran nilai turunan fungsi f yang diberikan dalambentuk tabel. Tiga pendekatan dalam menghitung turunannumerik:1. Hampiran selisih maju2. Hampiran selisih mundur3. Hampiran selisih pusat3 4. 1. Hampiran Selisih Maju (forward differenceapproximation)f ( x +h ) f ( x ) f ff (x0) =yy1y00 0hy = f(x)h1 0=hx-1 x0 x1 x4 5. 2. Hampiran selisih-mundur (backward differenceapproximation)ff (x0) =yy0y-1( x0 ) f ( x h0hh) f f0 1=hy = f(x)x-1 x0 x1 x5 6. 3. Hampiran selisih-pusat (central differenceapproximation)ff (x0) =yy0y-1( x0 +h ) f ( x2h0 h ) f f1 1=2 hy = f(x)2hx-1 x0 x-16 7. Rumus-rumus turunan numerik untuk ketigapendekatan tersebut dapat diturunkan dengan duacara, yaitu:1. Dengan bantuan deret Taylor2. Dengan hampiran polinom interpolasi Kedua cara tersebut menghasilkan rumus yang sama.7 8. Penurunan Rumus dengan Deret Taylor(a) Hampiran selisih-majuUraikan f(xi+1) di sekitar xi :xf(xi+1) = f(xi) + ( i+1 x )if (xi) +2( x x )i+1 if "(xi) + ...1! 2!fi+1 = fi + hfi + h2/2 fi " + .. .hfi= fi+1 - fi - h2/2 fi " + ...f ffi=ffi=i+1i+1i- h/2 fi "h f i+ O(h)hyang dalam hal ini, O(h) = h/2 f "(t), xi &lt; t &lt; xi+18 9. Untuk nilai-nilai f di x0 dan x1 persamaan rumusnya menjadi:f ff01 0 = + O(h)hyang dalam hal ini O(h) = h/2 f "(t), xi &lt; t &lt; xi+1 .9 10. (b) Hampiran selisih-mundurUraikan f(xi-1) di sekitar xi :xf(xi-1) = f(xi) + ( i+1 x ) xif (xi) + (2 x )i+1 if "(xi) + ...1! 2!fi-1 = fi - hfi+ h2/2 fi " + ...hfi= fi - fi-1 + h2/2 fi " + ...f ffi=ffi=iii 1- h/2 fi " + ...h f i 1+ O(h),hyang dalam hal ini, O(h) = - h/2 f "(t), xi-1 &lt; t &lt; xi10 11. Untuk nilai-nilai f di x0 dan x-1 persamaan rumusnya menjadi:f0f = 0 f 1+O(h)hyang dalam hal ini, O(h) = - h/2 f "(t), xi+1 &lt; t &lt; xi.11 12. (a) Hampiran selisih-pusatKurangkan persamaan (P.7.4) dengan persamaan (P.7.6):fi+1 - fi-1 = 2hfi + h3/3 fi " + ...2hfi= fi+1 - fi-1f f- h3/3 fi " + ...fi=ffi=i+1i+1i 1- h2/6 fi " + ...2h f i 1+ O(h2),2hyang dalam hal ini, O(h2) = - h2/6 f "(t), xi-1 &lt; t &lt; xi+1Untuk nilai-nilai f di x-1 dan x1 persamaan rumusnya menjadi:f1 f 1 2fo = + O(h )2hyang dalam hal ini, O(h2) = - h/6 f "(t), xi-1 &lt; t &lt; xi+1.12 13. Rumus untuk Turunan Kedua, f (x), denganBantuan Deret Taylor(a) Hampiran selisih-pusatTambahkan persamaan (P.7.4) dengan persamaan (P.7.6) di atas :fi+1 + fi-1 = 2 fi + h2 fi " + h4/12 fi (4) + ...fi+1 - 2fi + fi-1 = h2 fi " + h4/12 fi (4)f 2f + fJadi,f i+1fi" =i+1fi" = 2 f i + f i 12hi i 1- h2/12 fi (4)2h+ O(h2),yang dalam hal ini, O(h2) = - h2/12 f (4)(t), xi-1 &lt; t &lt; xi+113 14. Untuk nilai-nilai f di x-1 , x0, dan x1 persamaan rumusnya menjadi:1f0" = f 2 f + f0 1+ O(h2)2hyang dalam hal ini O(h2) = - h2/12 f (4)(t), xi-1 &lt; t &lt; xi+1.14 15. (b) Hampiran selisih-mundurDengan cara yang sama seperti (a) di atas, diperoleh :ffi" =i 2 2 f + fi 1 i+ O(h),2hyang dalam hal ini O(h) = h f "(t), xi-2 &lt; t &lt; xiUntuk nilai-nilai f di x-2 , x-1, dan x0 persamaan rumusnya :f0f"= 2 2 f + f1 0+ O(h),2hyang dalam hal ini, O(h) = h f "(t) , xi-2 &lt; t &lt; xi15 16. (c) Hampiran selisih-majuDengan cara yang sama seperti di atas, diperoleh :i+2fi" = f 2 f i+1 + f i+ O(h),2hyang dalam hal ini, O(h) = - h f "(t), xi &lt; t &lt; xi+2Untuk nilai-nilai f di x0 , x1, dan x2 persamaan rumusnya :f0f"= 2 2 f + f1 0+ O(h),2hyang dalam hal ini, O(h) = - h f "(t), x1 &lt; t &lt; xi+2.16 17. Penurunan Rumus Turunan Numerikdengan Polinom Interpolasi Polinom Newton-Gregory:s ff (x) pn(x) = f0 +1 !0+ s(s-1)2 f02!n f3 f0+ s(s-1)(s-2) +3!0s(s-1)(s-2)...(s- n+1)n!= F(s)yang dalam hal ini, s = (x-x0)/h.17 18. s ff (x) pn(x) = f0 +1 !0+ s(s-1)2 f02!n f3 f0+ s(s-1)(s-2) +3!0s(s-1)(s-2)...(s- n+1)n!= F(s)yang dalam hal ini, s = (x-x0)/h.18 19. (a) Hampiran selisih-maju- bila digunakan titik-titik x0 dan x1 :f1 f0f (x0) = 1/h ( f0) =h- bila digunakan titik-titik x0, x1, dan x2 :f (x0) = 1/h ( f0 + (s- 1/2) 2 f 0 )untuk titik x0 s = (x0 - x0)/h = 0, sehinggaf (x0) = 1/h ( f0 - 1/2 2f 0 )= 1/h ( f0 - 1/2( f1 - f0) )= 1/h (3/2 f0 - 1/2 f1)= 1/h (3/2 f1 - 3/2 f0 - 1/2 f2+ 1/2 f1 )= 1/h (-3/2 f0 + 2 f1 - 1/2 f2 )3f 0 +4f 1 f 2f (x0 ) =2h19 20. (b) Hampiran selisih-mundur- polinom interpolasi: Newton-Gregory mundur- bila digunakan titik-titik x0 dan x-1 :f f0 1f (x0) = 1/h ( f0) =h20 21. (c) Hampiran selisih-pusat- digunakan tiga titik x0 , x1 , dan x2 :f (x0) = 1/h ( f0 + (s - 1/2) 2f 0 )untuk titik x1 s = (x1 - x0)/h = h/h = 1, sehinggaf (x1) = 1/h ( f0 + 1/2 2f 0 )= 1/h ( f0 + 1/2( f1 - f0) )= 1/h (1/2 f0 + 1/2 f1)= 1/2h ( f1 - f0 + f2 - f1 )f2 f0=2huntuk titik x-1 , x0 , dan x1 :f (x0)f 1 f 1=2h21 22. Rumus untuk Turunan Kedua, f "(x),dengan Polinom InterpolasiTurunan kedua f adalah2d f2dx=d df ds ds dx dx= 1/h (0 + 2f 0 + (s - 1) 3f 0 ) . 1/h= 1/h2 ( 2 f0 + ( s - 1) 3f0 )22 23. Misalkan untuk hampiran selisih-pusat, titik-titik yang digunakan x0 , x1 , dan x2 :- pada titik x1 s = (x1 - x0)/h = h/h = 1, sehinggaf "(x1) = 1/h2 ( 2f 0 + (1 - 1) 3f 0 )= 1/h2 ( 2f 0 )= 1/h2 ( f1 - f0)2= 1/h ( f2 - f1 + f1 + f0 )= 1/h2 ( f0 - 2f1 + f2 )- untuk titik x-1 , x0 , dan x1 :f 2 f + ff " (x01 0) = 2h123 24. Ringkasan Rumus-Rumus Turunan1. Rumus untuk turunan pertamaf0 =f0 =f0 =f0 =f 1 f 0+ O(h)hf f0 1+ O(h)hf 1 f 1+ O(h2)2h3 f 0 +4 f 1 f 22h f 2 +8 f 1 8 f 1(selisih-maju)(selisih-mundur)(selisih-pusat)+ O(h2) (selisih-maju)+ f 2f0 = + O(h4)12h(selisih-pusat)24 25. 2. Rumus untuk turunan keduaff0" =f1 2f + f0 1+ O(h2)2h 2f + f(selisih-pusat)2f0" =hf 2f1 0+ O(h)2+ f(selisih-mundur)2 1f0" = 2h f +40+ O(h)f 5 f +2 f(selisih-maju)3f0" = f2 112h+16 f 30 f0+ O(h2)+16 f f(selisih-maju)2 1 0 1 2f0" = + O(h4)212h(selisih-pusat)25 26. 3. Rumus untuk turunan ketigaff0" =f3 3f + 3f 2 13h 2 f + 2 f f0+ O(h) (selisih-maju)f2 1 1 2f0" = 32h4. Rumus untuk turunan keempatf 4 f + 6 f 4 f+ O(h2) (selisih-pusat)+ f4f0(iv) =f 43 24hf + 6 f 4 f1 0+ O(h)+ f(selisih-maju)2 1f0(iv) = 0 1 2+ O(h2)4h(selisih-pusat)26 27. ContohDiberikan data dalam bentuk tabel sebagai berikut :x f(x)1.3 3.6691.5 4.4821.7 5.4741.9 6.6862.1 8.1662.3 9.9742.5 12.182(a) Hitunglah f (1.7) dengan rumus hampiran selisih-pusat orde O(h2) dan O(h4)(b) Hitunglah f (1.4)dengan rumus hampiran selisih-pusat orde O(h2)(c) Rumus apa yang digunakan untuk menghitung f (1.3) dan f (2.5) ?27 28. Penyelesaian:(a) Orde O(h2):f f1 1f0 =2hAmbil titik-titik x-1 = 1.5 dan x1 = 1.9, yang dalam hal ini x0 = 1.7 terletak di tengahkeduanya dengan h = 0.2.f (1.7) =Orde O(h4): f6.686 4.482= 5.5102 (0.2)+8 f 8 f + f(empat angka bena)2 1f0 =12h1 228 29. Ambil titik-titik x-2 = 1.3 dan x-1 = 1.5 , x1 = 1.9, dan x2 = 2.1, yang dalam hal ini x0 =1.7 terletak di pertengahannya.f (1.7)(b) Orde O(h2):8.166 + 8 ( 6.686 ) 8 ( 4.482 ) + 3.669=12 (0.2)= 5.473 (4 angka bena)Ambil titik-titik x-1 = 1.3 dan x1 = 1.5, yang dalam hal ini x0 = 1.4 terletak ditengahnya dan h = 0.1.f (1.4) =4.482 3.669= 4.0652 (0.1)(4 angka bena)29 30. (c) Untuk menghitung f (1.3) digunakan rumus hampiran selisih-maju, sebab x = 1.3hanya mempunyai titik-titik sesudahnya (maju), tetapi tidak memiliki titik-titik sebelumnya.Sebaliknya, untuk menghitung nilai f (2.5) digunakan rumus hampiran selisih-mundur,sebab x = 2.5 hanya mempunyai titik-titik sebelumnya (mundur).Hampiran selisih-maju :f ff0 =f (1.3) =1 0+ O(h)h4.482 3.669= 4.065Hampiran selisih-mundur :ff0 = 0 f 1+ O(h)hf (2.5) = 12.182 9.974 = 11.0430 31. Terapan Turunan Numerik dalam BidangPengolahan Citra Citra digital dapat disajikan oleh matriks f yang berukuran MN dengan bentukff11 f f 12 1Nf ff = 21 MfM 122 2nM M Mf fM 2 MN Tiap elemen matriks adalah bilangan bulat dalam rentang[0..255] untuk citra 8 bit.31 32. Salah satu proses yang terdapat dalam pengolahancitra ialah pendeteksian tepi. Tepi merupakan feature yang penting pada suatu citra. Tepi didefinisikan sebagai perubahan intensitas yangbesar dalam jarak yang singkat. Perbedaan intensitas inilah yang menampakkan rincianpada gambar. Tepi memberikan informasi batas-batasobjek dengan lingkungannya atau dengan objek yanglain, feature untuk mengidentifikasi objek, dan untukterapan penapisan citra.32 33. 33 34. 34 35. Salah satu pendekatamyang dipakai dalampendeteksian sisi adalah dengan kemiringandiferensial (differential gradient). Secara matematis perubahan intensitas yangbesar dalam jarak yang sangat singkat dapatdipandang sebagai suatu fungsi yang memilikikemiringan yang besar. Pengukuran kemiringan suatu fungsi dilakukandengan menghitung turunan pertamanya.35 36. Dalam citra digital, pendeteksian tepi dapat dilakukan dengancara yang mirip, yaitu dengan turunan pertamanya secaraparsial dalam ruang diskrit: f(x, y) =f / x f = x f / y fy yang dalam hal ini kedua turunan parsial didefinisikan sebagaiD1(x) =D1( y) =f ( x, y )xf ( x, y )yf ( x+x, y ) f ( x, y )xf ( x, y+y ) f ( x, y )y36 37. Biasanya x = y = 1, sehingga persamaan turunan pertama menjadi:D1D1f (x,(x) =xf (x,(y) =yy)= f (x +1,y) f (x, y)y)= f (x, y+1) f (x, y)37 38. Kekuatan tepi pada setiap pixel citra dihitung denganrumus:G[f(x,y)] = | fx2 | + | fy2 | atau dengan rumusG[f(x,y)] = max ( fx2 | , | fy2 |) Suatu pixel dianggap sebagai pixel sisi jika kekuatantepinya di atas nilai ambang (threshold) tertentu.38 39. D1(x) dan D1( y) merupakan hampiran selisih-maju.Hampiran lain yang dipakai adalah hampiran selisih-pusat, yaitu:D2(x) =D2(y) =f ( x, y )xf ( x, y )yf ( x+x, y ) f(x x , y2 xf ( x, y+y ) f(x, y y )2 y)39 40. Operator lain yang digunakan untuk mendeteksi sisiadalah yang berdasarkan pada operasi turunankedua, yang dikenal dengan operator Laplace(Laplacian). Operator Laplace mendeteksi lokasi tepi lebih akuratkhususnya pada tepi yang curam.40 41. f(x)f / x2f / x2(a) Tepi landai (b) Tepi curam41 42. Jika digunakan hampiran selisih-maju, maka operator Laplacediturunkan sebagai berikut:2f =2 2 f f+2 2x y= D1(D1(x)) + D1( D1( y))1 1= D1 ( f(x + x, y) - D1( f(x,y)) +xD1( f(x, y))1 f ( x x+x, y ) f ( x + x ,yD1( f(x, y + y) -y) f ( x+ x, y ) f ( x, y ) =x1 xf ( x, y +y+y) f ( x, y + y ) f+x ( x, y+ y ) f ( x, y ) =yf ( x y+ 2 x, y ) 2 f ( x+x,( x )2 y y ) + f ( x, y )+f (x, y + 2 y) 2 f (x, y+y )+ f (x, y)(y)242 43. (a) (b)(a) citra botol; (b) hasil pendeteksian tepi dengan operator Laplace43 44. CONTOH PROGRAM#include // pembacaan cout dan cin.#include // tampilan standar input output.#include // di gunakan untuk membuat teks antarmuka pengguna.#include // prototype fungsi untuk pustaka matematika.main() // program utama{ // pembuka program .int i=1, k; // pendeklarasian variabel dengan menggunakan tipe data integer.float x0, x1, xr, fx0, fx1, E, e=0.00001; // pendeklarasian variabel denganmenggunakan tipe data float.clrscr(); // untuk menghapus data yang tidak perlu.gotoxy(18,6);cout</p>