P ENURUNAN F UNGSI S ECARA N UMERIK
6
P
ada bab ini kita membicarakan metode numerik untuk menaksir nilai turunan suatu fungsi. Suatu fungsi f , baik diketahui rumusnya secara eksplisit maupun dalam bentuk data titik-titik yang dilalui kurvanya, dihampiri dengan sebuah fungsi lain yang lebih sederhana. Suatu polinomial p merupakan pilihan yang paling mudah sebagai hampiran fungsi f , karena setiap polinomial dapat dengan mudah diturunkan. Turunan polinomial p, yakni p0 (x), digunakan sebagai hampiran untuk f 0 (x) untuk sebarang nilai x. Secara geometris hal ini ekivalen dengan menghampiri gradien garis singgung pada kurva f di x dengan gradien garis singgung pada kurva p di x. Rumus-rumus turunan numerik bermanfaat di dalam pengembangan algoritma untuk menyelesaikan masalah nilai awal pada persamaan diferensial biasa dan parsial.
6.1 Turunan Tingkat Satu 6.1.1 Rumus Selisih Maju Dua-Titik Misalkan f (x) adalah sebuah fungsi riil satu variabel dan termasuk dalam kelas fungsi C 2 . Perhatikan polinomial Taylor berderajad 1 untuk f (x) di sekitar x = x0 : f (x)
= f (x0 ) + (x
0
x0 )f (x0 ) + (x
2
x0 ) f
00 ( )=2
(6.1)
dengan adalah sebuah bilangan antara x dan x0 . Misalkan x = x0 + h, dengan h > 0. Maka (6.1) dapat ditulis ulang sebagai f (x0
+ h) = f (x0 ) + hf 0 (x0 ) + h2 f 00 ( )=2
untuksuatu
365
2 [x ; x 0
0
+ h℄:
Bab 6. Penurunan Fungsi Secara Numerik
366 Jadi,
0
f (x0 )
=
f (x0
Jika h mengecil, (f (x0 + h) nilaif 0 (x0 ). Ini berarti f 0 (x0 )
+ h)
f (x0 )
h
f 00 ( )
:
2 f (x0 ))=h akan memberikan taksiran untuk h
f (x
0
+ h)
f (x0 )
(6.2)
h
Galat di dalam hampiran ini dinyatakan sebagai
jgalatj M2h
(6.3)
dengan M adalah batas atas f 00 (x) pada [x0 ; x0 + h℄. Batas galat (6.3) dapat diturunkan dari deret Taylor (6.1). Rumus (6.2) disebut rumus selisih maju dua-titik.
hampiran garis singgung di x0 garis singgung di x0 y=f(x) f(x0+h) f(x0) h x0
x0+h
x
Gambar 6.1: Gradien busur sebagai hampiran gradien garis singgung: Rumus dua–titik–maju.
Perhatikan bahwa ruas kanan dalam rumus (6.2) merupakan gradien Pengantar Komputasi Numerik
c Sahid (2004 – 2012)
6.1 Turunan Tingkat Satu
369
6.1.3 Rumus Selisih Pusat Dua-Titik Dari (6.2) kita mempunyai
0
hf (x0 )
= f (x0 + h)
f (x0 ):
Dari (6.4) kita dapatkan hf 0 (x0 )
=
f (x0
h) + f (x0 ):
Dengan menjumlahkan keduanya kita peroleh 2hf 0 (x0 ) = f (x0 + h)
Jadi,
0
f (x0 )
=
f (x0
+ h)
f (x0 f (x0
h): h)
2h
:
(6.6)
garis singgung f di x0 hampiran garis singgung f di x0
y=f(x)
f(x0+h) f(x0-h) h x0-h
h x0
x0+h
x
Gambar 6.3: Gradien busur sebagai hampiran gradien garis singgung: Rumus selisih pusat. Rumus (6.6) disebut rumus selisih pusat dua-titik. Pengantar Komputasi Numerik
Perhatikan
c Sahid (2004 – 2012)
6.1 Turunan Tingkat Satu
375
Pada tabel hasil perhitungan MATLAB di atas, kolom ketiga merupakan galat selisih pusat berorde O (h2 ) dan kolom terakhir merupakan galat selisih pusat berorde O (h4 ). Terlihat bahwa nilai-nilai pada kolom terakhir lebih kecil hampir h2 kali kolom ketiga. Kedua hampiran (kolom kedua dan keempat) juga semakin menuju ke 0.5 semakin h mengecil, namun kolom keempat konvergen lebih cepat. Pembaca mungkin bertanya, berapakah nilai h yang optimal untuk menghitung hampiran nilai suatu turunan? Berikut diberikan dua rumus untuk menentukan nilai h yang mengoptimalkan galat hampiran turunan fungsi. Pembaca yang tertarik untuk mengetahui lebih detil dapat melihat pada referensi [1] halaman 321 –324.
Untuk hampiran turunan pertama dengan rumus selisih terbagi pusat berorde O (h2 ):
0
f (x)
=
f (x + h)
f (x
h)
2h
dengan syarat f 2 C 3 [a; b℄ dan x meminimumkan E (f; h) adalah
h; x; x
3 1 3
+ E (f; h); +h
2 [a; b℄, nilai h yang
=
h
=
M
;
(6.20)
dengan adalah batas galat pembulatan dan M
= max fjf (3) (x)jg: a
x
b
Untuk hampiran turunan pertama dengan rumus selisih terbagi pusat berorde O (h4 ):
0
f (x)
=
f (x + 2h) + 8f (x + h)
8f (x
h) + f (x + 2h)
12h
+ E (f; h);
dengan syarat f 2 C 5 [a; b℄ dan x 2h; x h; x; x + h; x + 2h 2 [a; b℄, nilai h yang meminimumkan E (f; h) adalah
45 1 5 =
h
=
Pengantar Komputasi Numerik
4M
;
(6.21)
c Sahid (2004 – 2012)
6.1 Turunan Tingkat Satu
377
peroleh 3f 0 (x0 ) 4R0 (h)
R0 (2h)
=
4(f1
f
1
)
f2
2h
f
2
4h
atau
0
f (x0 )
4R (h) 3 R (2h) = 0
0
+ 8f1
f2
8f
1
+f
2
(6.26)
12h
Perhatikan, ruas kanan pada (6.26) adalah rumus selisih pusat beroder O (h4 ), dan ternyata dapat diperoleh dari rumus selisih pusat (6.22) yang berorde O (h2 ). Dengan demikian galat rumus selisih pusat dapat diperkecil dengan menggunakan rumus (6.26). Suatu metode untuk mendapatkan rumus untuk f 0 (x0 ) yang berorde lebih tinggi dari rumus yang berorde lebih rendah disebut ekstrapolasi. Ruas tengah pada (6.26) merupakan rumus ekstrapolasi Richardson untuk menghasilkan rumus hampiran turunan f 0 (x0 ) berorde O (h4 ) dari rumus selisih pusat berorde O (h2 ). Dengan cara serupa kita dapat menurunkan rumus selisih pusat berorde lebih tinggi dari rumus selisih pusat berorde O (h4 ). Dengan menggunakan notasi sebelumnya dan mendefinisikan R1 (k
h)
=
f2k
+ 8fk 12
8f
k
k
+ f 2k
h
=
4R0 (k
h)
R0 (2k
h)
3
; k
= 1; 2;
(6.27)
dapat diturunkan rumus ekstrapolasi berorde O (h6 ) untuk hampiran f 0 (x0 ): 16R1 (h) R1 (2h) 0 : f (x0 ) (6.28) 15 Secara umum pembahasan ekstrapolasi di atas dapat dinyatakan dalam teorema di bawah ini. T EOREMA 6.3 (H AMPIRAN T URUNAN –E KSTRAPOLASI R ICHARDSON ). Jika Rk 1 (h) dan Rk 1 (2h) adalah dua hampiran f 0 (x0 ) yang berorde O (h2k ) dan memenuhi
0 = 0 f (x0 ) = f (x0 )
Rk Rk
1 1
(h) + a1 h2k + a2 h2(k+1) + :::; (2h) + a1 (2h)
2k
2(k +1)
+ a2 (2h)
(6.29) + :::;
(6.30)
maka hampiran tersebut dapat ditingkatkan ordenya menjadi O (h2(k+1) ) dengan Pengantar Komputasi Numerik
c Sahid (2004 – 2012)
6.1 Turunan Tingkat Satu R3 (0:025)
379
=
64R2 (0:25) R2 (0:05) = 22:1671683 63
Kita tahu bahwa turunan fungsi f (x) = xex adalah f 0 (x) = xex + ex , sehingga f 0 (2) = 2e2 + e2 = 3e2 = 22:1671683. Bandingkah hasil-hasil pendekatan di atas dengan nilai yang sesungguhnya! Anda dapat menilai pendekatan mana yang terbaik untuk kasus ini. Untuk keperluan perhitungan secara praktis, proses perhitungan hampiran turunan dengan menggunakan ekstrapolasi Richardson dapat dilakukan dengan menggunakan tabel seperti Tabel 6.1.4. Perhitungan pada tabel tersebut dimulai dari baris pertama yang dihitung menggunakan rumus selisih pusat. Selanjutnya, setiap sel di bawahnya dihitung dengan menggunakan sel di atasnya dan sel di kanan atasnya dengan pengali dan pembagi seperti tercantum pada setiap baris. Hampiran terakhir untuk f 0 (x0 ) adalah R(n; 1). Tabel 6.1: Tabel Ekstrapolasi Richardson untuk Hampiran Turunan R(i; j ) i
1 2 3 4 .. . n
=
R(1; j )
4i i R(i fj
=
i
Pengali (4 4 16 64 .. . 4n 1
f
2j h 1
)
1;j ) 4i 1 j
; j
R(i
1;j +1)
Lebar langkah
1
= 1; 2; 3; :::; n i
Pengali (4 3 15 63 .. . 4n 1
1
)
1
h
2h
4h
:::
R(1,1) R(2,1) R(3,1) R(4,1) .. . R(n,1)
R(1,2) R(2,2) R(3,2) R(4,2) .. . xxx
R(1,3) R(2,3) R(3,3) R(4,3) .. . xxx
::: ::: ::: :::
..
. xxx
2n 1 h
R(1,n) xxx xxx xxx xxx xxx
C ONTOH 6.5. Perhitungan pada contoh sebelumnya dapat dilakukan dengan MATLAB sebagai berikut. >> f=inline(’x.*exp(x)’) f = Inline function: f(x) = x.*exp(x) >> x0=2; >> h=0.025 h = 0.02500000000000 >> h=h*2.^[0:3] h = 0.0250000000000 0.0500000000000
Pengantar Komputasi Numerik
0.1000000000000
0.2000000000000
c Sahid (2004 – 2012)
6.1 Turunan Tingkat Satu
381
function R=deriver(f,x0,h,n) % menghitung turunan dengan ekstrapolasi Richardson % f fungsi yang dihitung f’(x0) % h = lebar interval awal, n = cacah iterasi h=h*2.^[0:n-1]; R=(f(x0+h)-f(x0-h))./(2*h) % rumus selisih pusat for j=1:n-1, % ekstrapolasi Richardson R=(4^j*R(1:n-j)-R(2:n-j+1))./(4^j-1) end
Gambar 6.4: Fungsi MATLAB deriver.m implementasi ekstrapolasi Richardson
Misalkan Pn (x) adalah polinomial berderajad n yang menginterpolasikan f (x) di n + 1 titik dengan absis x1 ; x2 , ..., xn , xn+1 , yakni Pn (xk ) = f (xk ) untuk k = 1; 2; :::; n + 1. Dalam hal ini Pn (x) merupakan hampiran untuk f (x) untuk minfxk g x maxfxk g, sehingga kita dapat menghampiri f 0 (x), untuk x pada interval tersebut, dengan
0
f (x)
P 0 (x):
(6.32)
n
Sebagaimana telah dibahas pada bab Interpolasi, kita dapat menggunakan polinomial Lagrange atau polinomial Newton sebagai polinomial interpolasi. Dari polinomial-polinomial interpolasi dapat diturunkan rumus-rumus hampiran turunan. Misalkan kita mulai dengan titik (x1 ; f (x1 )) dan (x2 ; f (x2 )). Kita tahu bahwa polinomial yang menginterpolasikan kedua titik tersebut adalah P1 (x)
=
f (x2 )
f (x1 )
x2
x1
(x
x1 ) + f (x1 ):
Apabila polinomial tersebut kita turunkan, maka diperoleh
0
P1 (x)
=
f (x2 ) x2
f (x1 ) x1
:
Selanjutnya, apabila pada (6.33) kita ganti x1 = x0 Pengantar Komputasi Numerik
(6.33) h
dan x2 = x0 + h,
c Sahid (2004 – 2012)
6.1 Turunan Tingkat Satu
0
P2 (x0 )
383
3f (x0 ) + 4f (x0 + h) 2h
=
f (x0
+ 2h)
f 0(x ): 0
(6.35)
Rumus hampiran turunan (6.35) disebut rumus selisih maju tiga titik. Dengan cara serupa, apabila kita ganti x1 = x0 ; x2 = x0 h dan x3 = x0 +h, maka diperoleh rumus selisih pusat, dan apabila kita ganti x1 = x0 ; x2 = x0 h dan x3 = x0 2h, maka diperoleh rumus selisih mundur tiga titik
0
3f (x0 )
4f (x0
h) + f (x
2h)
(6.36) f 0(x0 ): 2h Demikian seterusnya, kita dapat menggunakan polinomialpolinomial berderajad lebih tinggi (dengan cacah titik semakin bertambah) untuk mendapatkan rumus-rumus hampiran turunan fungsi di suatu titik. Polinomial Newton PN (x) berorde N yang menginterpolasikan f (x) di N + 1 titik dengan absis x0 ;x1 ; x2 ; ..., xN adalah P2 (x0 )
=
X1
PN (x)
= a0 +
Y j
N
aj +1
j =0
(x
xk ):
(6.37)
k =0
Turunan PN (x) adalah
X 0 P (x) = a1 + a N
X Y
1
N
j
j
j +1
j =1
6
(x
xk ):
(6.38)
i=0 k =0;k =i
Selanjutnya, nilai PN0 (x) di x = x0 adalah
X 0 P (x0 ) = a1 + a N
Y
1
N
j =1
j
j +1
6
(x0
xk ):
(6.39)
k =0
Apabila xk = x0 + kh untuk suatu h > 0 dan k = maka 0 (x0 ) + O(hN 1 ): f 0 (x0 ) = PN
1; 2; 3; :::;
Metode ini dapat digabungkan dengan metode selisih terbagi Newton untuk menghitung koefisien-koefisien polinomial interpolasi Newton. Catatan: Rumus (6.39) harus digunakan untuk menghitung f 0 (x0 ) PN (x0 ): Untuk menghitung, misalnya f 0 (xk ) PN (xk ); absis-absis harus disusun ulang menjadi fxk ; x0 ; :::; xk 1 ; xk+1 ; :::; xN g kemudian dibentuk polinoPengantar Komputasi Numerik
c Sahid (2004 – 2012)
6.2 Turunan Tingkat Dua dan yang Lebih Tinggi ans = -2.21999067245464 -2.22321172408835 -2.22324394993922
389
0.00325360302929 0.00003255139559 0.00000032554471
Dari hasil perhitungan di atas, khususnya dengan mengamati kolom kedua matriks ans, terlihat bahwa galatnya semakin berkurang dengan faktor sekitar 1/100 semakin nilai h mengecil 1/10 kali. 2. Dari persamaan (6.43) kita gunakan rumus hampiran turunan kedua: f "(x)
f2
+ 16f1
30f0 + 16f 12h2
1
f
2
:
Perhitungan dengan MATLAB menggunakan rumus tersebut adalah sebagai berikut (kita hanya perlu menghitung nilai d2f yang baru): >> d2f=(-f(x0+2*h)+16*f(x0+h)-30*f(x0) ... +16*f(x0-h)-f(x0-2*h))./(12*h.^2); >> [d2f d2f-df2(x0)] ans = -2.22323807255170 0.00000620293224 -2.22324427486357 0.00000000062036 -2.22324427541961 0.00000000006432 (Tanda tiga titik di akhir baris MATLAB artinya disambung ke baris di bawahnya. Pada MATLAB langsung sambung dengan baris di bawahnya jika masih cukup.) Terlihat bahwa galat hampiran-hampiran di atas jauh lebih kecil daripada galat-galat pada perhitungan sebelumnya, dan juga penurunan galat tersebut sebesar kira-kira 1/10000 kali dengan penurunan nilai h sebesar 1/10. Nilai turunan yang sebenarnya adalah f "(1) = 2:22324427548393: Galat dalam perhitungan hampiran nilai turunan suatu fungsi meliputi galat dalam perhitungan nilai fungsi (pembulatan) dan galat pemotongan deret Taylor. Apabila galat dalam perhitungan fungsi diketahui batas atasnya (misalnya dengan menentukan tingkat keakuratan) dan turunan-turunan yang lebih tinggi terbatas, maka kita dapat menentukan lebar langkah (h) yang optimal (yakni yang meminimumkan galat). Hal ini mengingat galat pemotongan berkaitan erat dengan orde rumus yang bersangkutan terhadap lebar langkah yang dipakai (h). Pengantar Komputasi Numerik
c Sahid (2004 – 2012)
6.2 Turunan Tingkat Dua dan yang Lebih Tinggi k
=
391
5; 4; 3; 2; 1; 0; 1; 2; 3; 4; 5. f "(x0 )
f
(3)
2f0
2f0
(x0 )
f
(4)
(x0 )
5f1 + 4f2 5f
h2 1
f3
+ 4f
;
(6.54)
f
2
3
h2
:
(6.55)
5f0 + 18f1
24f2 + 14f3 3f4 ; 2h3 5f0 + 18f 1 24f 2 + 14f 3 3f 4 : 2h3 3f0 14f1 + 26f2 24f3 + 11f4 2f5 3f0
14f
1
(6.56) (6.57)
;
h4 + 26f 2
24f
3
+ 11f
(6.58) 2f
4
h4
5
:
(6.59)
Berikut ditunjukkan bagaimana menurunkan rumus selisih maju (6.54) dengan menggunakan polinomial interpolasi Newton. Kita mulai dengan polinomial interpolasi Newton kubik yang menginterpolasikan f (x) di empat titik dengan absis x0 ; x1 ; x2 ; dan x3 : Polinomial ini adalah P3 (x)
= a0 + a1 (x
x0 ) + a2 (x
x0 )(x
x1 ) + a3 (x
x0 )(x
x1 )(x
x2 );
dengan koefisien-koesfisiennya merupakan selisih-selisih terbagi Newton, yakni a0 a3
= f0 ; =
f0
a1
=
f1
f0 h
;
a2
=
f2
f1 h
+ 3f1 3f2 + f3 : 6h3
f1
2h
f0 h
=
f0
2f1 + f2 ; 2h2
Turunan kedua P3 (x) adalah P3 "(x)
= 2a2 + 2a3 [(x
x0 ) + (x
x1 ) + (x
x2 )℄:
Di x0 nilai turunan tersebut adalah P3 "(x0 )
= =
f0
2f0
2f1 + f2 h2
+
5f1 + 4f2 h2
Pengantar Komputasi Numerik
f0 f3
+ 3f1 3f2 + f3 ( h 3h3
2h)
f "(x ): 0
c Sahid (2004 – 2012)
6.2 Turunan Tingkat Dua dan yang Lebih Tinggi
393
LATIHAN 6.2 1. Tulis program MATLAB untuk menghitung hampiran nilai f 00 (x) dengan menggunakan rumus (6.41) dengan lebar interval 2 k h untuk k = 0; 1; 2; : : :, nilai h ditentukan. 2. Misalkan f (x) = ln x. Hitunglah hampiran nilai f 00 (5) dengan menggunakan rumus (6.40) dengan h = 0:01. Ulangi perhitungan dengan menggunakan rumus (6.41). Bandingkan galat kedua hampiran tersebut. 3. Gunakah rumus (6.40) dengan h = 0:01 untuk menghitung hampiran f 00 (1) untuk fungsi-fungsi di bawah ini. (a) f (x) = x2 e os x (b) f (x) = ln x2 (c) f (x) = x5 + sin x 4. Gunakah rumus (6.41) dengan h = 0:01 untuk menghitung hampiran f 00 (1) untuk fungsi-fungsi di bawah ini. (a) f (x) = x2 e os x (b) f (x) = ln x2 (c) f (x) = x5 + sin x 5. Hitung hampiran nilai f 00 (1) untuk fungsi f (x) = sin 4x dengan menggunakan rumus f
00(x1 ) 1 (f2 2 h
2f1 + f0 )
dengan h = 0.05, 0.04, 0.03, 0.02, dan 0.01. Gunakan tingkat keakuratan perhitungan sampai enam angka di belakang koma. 6. Gunakan ekspansi Taylor untuk f (x + h), f (x h), f (x + 2h), dan f (x 2h) untuk menurunkan rumus selisih pusat f 000 (x)
(f (x + 2h)
f (x
2h)) 2(f (x + h) 2h3
f (x
h))
:
7. Gunakan rumus yang diperoleh pada soal no. 6 untuk menghitung hampiran nilai-nilai f 000 (1) untuk fungsi-fungsi di bawah ini dengan menggunakan panjang interval diberikan. Bandingkan hasil perhitungan tersebut dengan nilai eksaknya. (a) f (x) = sin(x); h = 0:1 (b) f (x) = sin(x) ln x; h = 0:01 (c) f (x) = x3 ln x; h = 0:01 Pengantar Komputasi Numerik
(d) f (x) = ex ; h = 0:01 (e) f (x) = ex os(x); h = 0:01 (f) f (x) = x2 ex ; h = 0:01
c Sahid (2004 – 2012)
6.3 Rangkuman
395
hampiran turunan parsial, misalnya fx (x; y )
=
fy (x; y )
=
f (x + h; y ) f (x; y
+ h)
f (x
2h 2h
f (x; y
h; y ) h)
+ O (h2 ) + O (h2 )
(a) Misalkan f (x; y ) = xxy . Hitunglah hampiran nilai-nilai fx (2; 3) +y dan fy (2; 3) dengan menggunakan rumus-rumus di atas dengan h = 0.1, 0.01, dan 0.001. Bandingkan hasilnya dengan nilai eksaknya. (b) Misalkan f (x; y ) = tan 1 ( xy ). Hitunglah hampiran nilai-nilai fx (3; 4) dan fy (3; 4) dengan menggunakan rumus-rumus di atas dengan h = 0.1, 0.01, dan 0.001. Bandingkan hasilnya dengan nilai eksaknya. 12. Hampiran turunan parsial yang lebih tinggi dapat diperoleh dengan mengadaptasi rumus hampiran turunan yang lebih tinggi untuk fungsi satu variabel, misalnya fxx (x; y )
=
fyy (x; y )
=
f (x + 2h; y ) f (x; y
+ 2h)
2f (x; y ) + f (x 2h; y ) 4h2 2f (x; y ) + f (x; y 2h) 4h2
Gunakan rumus-rumus di atas untuk menghitung hampiran fxx (2; 3) dan fyy (2; 3) untuk fungsi-fungsi di bawah ini, dengan menggunakan nilai-nilai h yang diberikan. Bandingkan hasilnya dengan nilai eksaknya. (a) f (x) = xxy ; h = 0:1; 0:01 +y (b) f (x) = sin(xy ); h = 0:01; 0:001 xy ) (c) f (x) = sin( ; h = 0:01; 0:001 x+y
(d) f (x) = e(x y) ; h = 0:1; 0:05 (e) f (x) = os(y x); h = 0:05; 0:01 (f) f (x) = ln(xy ); h = 0:1; 0:01
6.3 Rangkuman Berikut adalah rumus-rumus untuk menghitung hampiran turunan suatu fungsi beserta orde kesalahannya dan nilai optimal lebar langkah yang Pengantar Komputasi Numerik
c Sahid (2004 – 2012)
6.3 Rangkuman R(i; j )
=
4i i R(i
1 2 3 4 .. .
= Pengali (4i 4 16 64 .. .
n
4
i
R(1; j )
397
n
fj
1
f
2j h
)
1;j ) 4i 1
R(i
1;j +1)
Lebar langkah
1
= 1; 2; 3; :::; n Pembagi (4i 1 1) 3 15 63 .. . j
R(1,1) R(2,1) R(3,1) R(4,1) .. .
2h R(1,2) R(2,2) R(3,2) R(4,2) .. .
4h R(1,3) R(2,3) R(3,3) R(4,3) .. .
R(n,1)
xxx
xxx
; j
4
1
1
1
n
h
2n 1 h R(1,n) xxx xxx xxx
::: ::: ::: ::: :::
..
. xxx
xxx xxx
Hampiran turunan dengan polinomial interpolasi Jika Pn (x) adalah polinomial berderajad n yang menginterpolasikan f (x) di n + 1 titik dengan absis x1 ; x2 , ..., xn , xn+1 , yakni Pn (xk ) = f (xk ) untuk k = 1; 2; :::; n + 1, maka Pn (x) merupakan hampiran f (x) untuk minfxk g x maxfxk g, sehingga kita dapat menghampiri f 0 (x), untuk x pada interval tersebut, dengan
0
f (x)
P 0 (x): n
Rumus selisih maju tiga titik untuk f 0 (x0 ) f 0 (x0 )
3f0 + 4f1 2h
f2
:
Rumus selisih mundur tiga titik untuk f 0 (x0 )
0
f (x0 )
3f
0
4f1 + f2 : 2h
Rumus-rumus selisih pusat untuk turunan tingkat tinggi f
00 (x0 ) =
f
00 (x0 ) =
f (3) (x0 )
=
f (3) (x0 )
=
f1 f2
2f0 + f h2
+ 16f1
1
+ O (h2 )
30f0 + 16f 12h2
1
f
2
+ O (h4 )
2f1 + 2f 1 f 2 + O (h2 ) 12h3 f3 + 8f2 13f1 + 13f1 8f 2 + f 8h3
f2
Pengantar Komputasi Numerik
3
+ O (h4 )
c Sahid (2004 – 2012)
Bab 6. Penurunan Fungsi Secara Numerik
398 f
(4)
f
(4)
(x0 ) = (x0 ) =
f2 f3
4f1 + 6f0 + 12f2
4f
1
+f
2
h4
+ O (h2 )
39f1 + 56f0 39f 6h4
1
+ 12f
f
2
3
+ O (h4 )
Rumus-rumus selisih maju/mundur untuk turunan tingkat tinggi f "(x0 )
f
(3)
(x0 )
2f0
2f0
f (4) (x0 )
Pengantar Komputasi Numerik
5f1 + 4f2 5f
h2 1
+ 4f
f3 2
; f
3
h2
:
5f0 + 18f1
24f2 + 14f3 3f4 ; 2h3 5f0 + 18f 1 24f 2 + 14f 3 3f 4 : 2h3 3f0 14f1 + 26f2 24f3 + 11f4 2f5 3f0
14f
1
h4 + 26f 2
;
24f h4
3
+ 11f
4
2f
5
:
c Sahid (2004 – 2012)