1. Metode Numerik
Imam Fachruddin
(Departemen Fisika, Universitas Indonesia)
Daftar Pustaka:
• P. L. DeVries, A First Course in Computational Physics (John Wiley &
Sons, Inc., New York, 1994)
• W. H. Press, et. al., Numerical Recipes in Fortran 77, 2nd Ed. (Cambridge
University Press, New York, 1992)
(online / free download: http://www.nrbook.com/a/bookfpdf.php)
• R. H. Landau & M. J. Páez, Computational Physics: Problem Solving with
Computers (John Wiley & Sons, Inc., New York, 1997)
• S. E. Koonin, Computational Physics (Addison-Wesley Publishing Co., Inc.,
Redwood City, 1986)
2. Isi
• akar fungsi
• solusi sistem persamaan linear
• fitting dengan least square
• interpolasi
• integrasi
• persamaan differensial
3. Akar Fungsi
f(x) = 0 x=?
akar fungsi f(x)
1
Contoh: x- =0 x2 = 1 x = 1 dan -1
x
3x2 = 6 - 7x 3x2 + 7x - 6 = (3x - 2)(x + 3) = 0
Pada dua contoh di atas akar fungsi dapat
x = 2/3 dan -3
dicari secara analitik.
Secara umum, tidak selalu begitu keadaannya.
4. Problem:
Sebuah lampu dipasang di pinggir sebuah piringan berjari-jari 10 cm.
Sebuah plat bercelah sempit diletakkan di dekat piringan itu. Tepat di
belakang celah itu dipasang sebuah sensor cahaya yang menghadap tegak
lurus ke celah. Piringan diputar konstan 1 rad/s dan plat beserta sensor
digeser lurus konstan 10 cm/s. Saat ini posisi celah dan lampu seperti pada
gambar 1. Kapan sensor cahaya menerima cahaya terbanyak?
Sensor menerima cahaya terbanyak pada saat posisi lampu dan celah
membentuk garis tegak lurus terhadap plat, seperti pada gambar 2.
x = r cos (ωt) = vt
r
lampu
gambar 1 gambar 2
ω cos (t) = t
celah
sensor
plat
v ?
5. Plot cos(x) dan x:
Grafik ini
menunjukkan
bahwa cos(x) = x
pada x sedikit
kurang dari 0.75.
Bisakah lebih akurat lagi?
Cari secara numerik akar fungsi dari
f(x) = cos(x) - x
6. Bisection
Prinsip: Kurung akar fungsi di antara dua batas, lalu paruh batas itu
terus menerus sampai batas itu sedemikian sempit dan dengan
demikian lokasi akar fungsi diketahui dengan keakuratan tertentu.
Langkah:
1. Perkirakan akar fungsi (bisa akar fungsi
dengan cara memplot fungsi).
2. Tentukan batas awal yang
mengurung akar fungsi.
a df e c b
3. Belah dua daerah berisi akar fungsi
itu.
4. Tentukan daerah yang berisi akar
fungsi. Batas e, f atau
nilai di
5. Ulangi langkah 3 dan 4 sampai tengahnya bisa
dianggap cukup. dipilih sebagai
6. Tentukan akar fungsi. akar fungsi.
7. • Menentukan daerah yang berisi akar fungsi:
a c b
Jika z merupakan akar fungsi, maka
f(x < z) dan f(x > z) saling berbeda f(x)
tanda.
f(a)*f(c) negatif, berarti di antara a & c x
z
ada akar fungsi.
f(b)*f(c) positif, berarti di antara b & c
tidak ada akar fungsi
• Menentukan kapan proses pencarian akar fungsi berhenti:
Proses pencarian akar fungsi dihentikan setelah keakuratan yang
diinginkan dicapai, yang dapat diketahui dari kesalahan relatif semu.
perkiraan sebelum - perkiraan berikut
kesalahan relatif semu =
perkiraan berikut
8. Kesalahan
kesalahan mutlak = | perkiraan – nilai sebenarnya |
perkiraan – nilai sebenarnya
kesalahan relatif =
nilai sebenarnya
Dalam perhitungan numerik, nilai sebenarnya justru sering tidak diketahui, yang
didapat hanya perkiraan terbaik. Karena perkiraan langkah berikut dianggap lebih
akurat, yaitu lebih mendekati nilai sebenarnya, maka kesalahan yang dihitung
yaitu:
kesalahan mutlak semu = | perkiraan sebelum – perkiraan berikut |
perkiraan sebelum - perkiraan berikut
kesalahan relatif semu =
perkiraan berikut
9. False Position
Prinsip: Di sekitar akar fungsi yang diperkirakan, anggap fungsi merupakan
garis lurus. Titik tempat garis lurus itu memotong garis nol
ditentukan sebagai akar fungsi.
f(x) akar fungsi sebenarnya
x
garis lurus sebagai
pengganti f(x)
akar fungsi yang diperoleh
10. f(x)
b
x
c
a
p(x)
x −b x−a
Diperoleh: p(x) = f(a) + f(b)
a −b b−a
af(b) − bf(a)
p(c) = 0 c=
f(b) − f(a)
11. Langkah:
1. Perkirakan akar fungsi (bisa akar fungsi
f(x)
dengan cara memplot fungsi).
b
2. Tentukan batas awal yang
mengurung akar fungsi. x
c
3. Tarik garis lurus penghubung
a
nilai fungsi pada kedua batas,
lalu cari titik potongnya
dengan garis nol.
4. Geser salah satu batas ke
titik potong itu, sementara
batas lain tidak berubah. f(x)
Ulangi langkah 3.
b
5. Ulangi langkah 4 sampai
dianggap cukup. x
c
6. Titik potong garis nol dan a
garis lurus yang terakhir af(b) − bf(a)
dinyatakan sebagai akar c=
fungsi. f(b) − f(a)
12. f(x)
af(b) − bf(a)
c=
f(b) − f(a)
b
c
x
Metode false position juga
menggunakan dua batas seperti a
metode bisection. Namun, berbeda
dari metode bisection, pada
metoda false position hanya satu
batas yang berubah. f(x)
Pada contoh sebelum ini, batas a
berubah sementara batas b tetap.
Pada contoh berikut terjadi b
sebaliknya. c
x
a
13. Menghitung akar fungsi dengan metode false position,
menggunakan a dan b sebagai batas awal:
• jika batas a tetap, batas b berubah:
af(xi ) − xif(a)
xi+1 = (i = 0, 1, 2, ...; x0 = b)
f(xi ) − f(a)
• jika batas b tetap, batas a berubah:
bf(xi ) − xif(b)
xi+1 = (i = 0, 1, 2, ...; x0 = a )
f(xi ) − f(b)
• kesalahan relatif semu:
xi − xi+1
∆ rel =
xi+1
Penghitungan dihentikan jika kesalahan relatif semu sudah
mencapai / melampaui batas yang diinginkan.
14. Newton-Raphson
Prinsip: Buat garis singgung kurva f(x) di titik di sekitar akar fungsi.
Titik tempat garis singgung itu memotong garis nol ditentukan
sebagai akar fungsi.
f(x) akar fungsi yang diperoleh
x
a p(x) = garis singgung kurva
f(x) di titik f(a)
akar fungsi sebenarnya
15. f(x)
c
x
a
p(x)
Diperoleh: p(x) = f(a) + (x − a)f'(a)
(f’(a) turunan pertama f(x) pada x = a)
f(a)
p(c) = 0 c=a−
f'(a)
16. Langkah: f(x)
1. Perkirakan akar fungsi.
c
2. Buat garis singgung pada titik x
sesuai akar fungsi yang a
diperkirakan itu, lalu cari
titik potongnya dengan garis akar fungsi
nol. sebenarnya
3. Titik potong itu merupakan
perkiraan akar fungsi baru.
4. Ulangi langkah 2 dan 3 sampai
dianggap cukup. f(x)
5. Titik potong garis nol dan a
garis singgung kurva yang
x
terakhir dinyatakan sebagai c
akar fungsi. f(a)
c=a−
f'(a)
17. 1
f(x)
Contoh perkiraan akar
fungsi awal yang baik
perkiraan akar fungsi x
makin mendekati akar
fungsi sebenarnya.
2
1
f(x)
Contoh perkiraan akar
fungsi awal yang buruk
perkiraan akar fungsi x
makin menjauhi akar
fungsi sebenarnya.
2
18. Menghitung akar fungsi dengan metode Newton-Raphson:
f(xi )
xi+1 = xi − (i = 0, 1, 2, ...; x0 = a )
f'(xi )
kesalahan relatif semu:
xi − xi+1
∆ rel =
xi+1
Penghitungan dihentikan jika kesalahan relatif semu sudah
mencapai / melampaui batas yang diinginkan.
19. Secant
Kembali ke metode False Position, untuk contoh batas b tetap, akar fungsi
dicari sebagai berikut:
bf(x0 ) − x0 f(b) bf(x1 ) − x1f(b) bf(x2 ) − x2f(b)
x1 = x2 = x3 =
f(x0 ) − f(b) f(x1 ) − f(b) f(x2 ) − f(b)
Pada metode Secant, batas tidak dijaga tetap, melainkan berubah. Akar
fungsi dicari sebagai berikut:
bf(x0 ) − x0 f(b) bf(x1 ) − x1f(b) x1f(x2 ) − x2f(x1 )
x1 = x2 = x3 =
f(x0 ) − f(b) f(x1 ) − f(b) f(x2 ) − f(x1 )
xi-2f(xi-1 ) − xi-1f(xi-2 )
Jadi, mulai dari i = 3, akar fungsi dihitung dengan: xi =
f(xi-1 ) − f(xi-2 )
20. f(x) f(x)
b b
x x
a x1
x1 x2
I II
false position secant
x3
f(x) f(x)
b
x x
x2 x1 x2
x3
III III
21. Akar fungsi pada metode Secant untuk i = 1, 2 bisa dihitung dengan metode
yang lain atau ditebak. Mulai i = 3, akar fungsi dihitung dengan rumus:
-1
x f(x ) − xi-1f(xi-2 ) f(xi-1 ) − f(xi-2 )
xi = i-2 i-1 xi = xi-1 −
x −x f(xi-1 )
f(xi-1 ) − f(xi-2 ) i-1 i-2
Yang menarik, jika i makin besar, maka beda antar dua akar fungsi yang
berturutan semakin kecil, sehingga
f(xi-1 ) − f(xi-2 ) df(xi-1 ) f(xi-1 )
≅ = f'(xi-1 ) xi ≅ xi-1 −
xi-1 − xi-2 dxi-1 f'(xi-1 )
Dengan begitu, metode Secant menyerupai metode Newton-Raphson. Jika
turunan fungsi f(x) sulit diperoleh / dihitung, maka metode Secant menjadi
alternatif yang baik bagi metode Newton-Raphson.
Kesalahan relatif semu dihitung sama seperti pada metode False Position
atau Newton-Raphson.
22. Kecepatan Konvergensi
Pencarian akar fungsi dimulai dengan perkiraan akar fungsi yang
pertama, lalu diikuti oleh perkiraan berikutnya dan seterusnya sampai
perkiraan yang terakhir, yang kemudian dinyatakan sebagai akar fungsi
hasil perhitungan tersebut. Proses itu harus bersifat konvergen yaitu,
selisih perkiraan sebelum dari yang setelahnya makin lama makin kecil.
Setelah dianggap cukup, proses pencarian akar fungsi berhenti.
x2 − x1 > x3 − x2 > x4 − x3 ... xn − xn −1 ≤ ε
(ε = bilangan kecil)
Kecepatan konvergensi sebuah proses yaitu, kecepatan proses itu untuk
sampai pada hasil akhir.
23. Contoh pencarian akar fungsi dengan metode Bisection:
akar fungsi
x
a b
x1
x2
x3
x4
Jika εi ≡ xi+1 − xi , maka dari gambar diperoleh:
ε1 = x2 − x1 , ε2 = x3 − x2 , ε3 = x4 − x3
ε2 = 2 ε1 , ε3 = 2 ε2
1 1
Kecepatan konvergensi bersifat linear: εi+1 = 2 εi
1
24. Pada metode False Position, Newton-Raphson dan Secant akar fungsi dicari
dengan rumus yang bentuknya serupa:
-1
f(xi ) − f(a)
False Position: xi+1 = xi −
x − a f(xi ) (atau a diganti b)
i
f(xi )
Newton-Raphson: xi+1 = xi −
f'(xi )
-1
f(xi ) − f(xi-1 )
Secant: xi+1 = xi −
x −x f(xi )
i i-1
Mengingat dengan berjalannya proses pencarian akar fungsi rumus pada
metode False Position dan terlebih lagi Secant semakin mendekati rumus
pada metode Newton-Raphson, maka akan dibahas kecepatan konvergen
pada metode Newton-Raphson.
25. f(xi ) f(xi ) f(xi+1 )
xi+1 = xi − εi ≡ xi − xi+1 = εi+1 = =?
f'(xi ) f'(xi ) f'(xi+1 )
ekspansi deret Taylor:
f(xi+1 ) = f(xi − εi ) = f(xi ) − εif'(xi ) + 2 εi2f''(xi ) − ...
1
f'(xi+1 ) = f'(xi − εi ) = f'(xi ) − εif''(xi ) + ...
f(xi ) − εif'(xi ) + 2 εi2f''(xi ) − ...
1
εi+1 =
f'(xi ) − εif''(xi ) + ...
f(xi ) − εif'(xi ) + 2 εi2f''(xi )
1
≅
f'(xi )
f''(xi ) 2
≅ εi
2f'(xi )
Kecepatan konvergensi pada metode Newton- f''(xi ) 2
Raphson (kira-kira demikian juga False Position εi+1 ≅ εi
2f'(xi )
dan Secant) bersifat kurang lebih kuadratik:
Dengan begitu, metode metode Newton-Raphson, False Position dan
Secant lebih cepat dari metode Bisection.
26. Contoh hasil pencarian akar fungsi untuk soal cos(x) = x:
metode akar f(akar) jumlah langkah
Bisection 0.7390795 9.3692161E-06 12
False Position 0.7390851 -7.7470244E-09 3
Newton-Raphson 0.7390851 -7.7470244E-09 4
Secant 0.7390851 -7.7470244E-09 3
Keterangan: • Pencarian akar berhenti jika kesalahan relatif semu
sama atau kurang dari 1.0E-05.
• Batas awal kiri dan kanan untuk metode Bisection,
False Position dan Secant 0.72 dan 0.75.
• Perkiraan akar fungsi pertama untuk metode
Newton-Raphson 0.72.
27. Solusi Sistem
Persamaan Linear
Sistem persamaan linear:
n buah
persamaan
a11x1 + a12x2 + a13x3 ⋯ + a1n xn = b1 dengan n buah
unknown
a21x1 + a22x2 + a23x3 ⋯ + a2n xn = b2 xj
a31x1 + a32x2 + a33x3 ⋯ + a3n xn = b3
⋮ ⋮ ⋮ ⋱ ⋮ ⋮ aij dan bi
diketahui
an1x1 + an2x2 + an3x3 ⋯ + ann xn = bn
i, j = 1, 2, …, n
xj = ?
32. A X = B atau AX = B
Jadi, metode Eliminasi Gauss terdiri dari dua tahap:
1. triangulasi: mengubah matriks A menjadi matriks segitiga
(matriks B dengan begitu juga berubah)
= =
2. substitusi mundur: menghitung x mengikuti urutan terbalik,
dari yang terakhir ( xn ) sampai yang pertama ( x1 )
33. LU Decomposition
A X = B atau AX = B
Pada metode LU Decomposition, matriks A ditulis ulang sebagai perkalian
matriks L dan U (matriks A diurai menjadi matriks L dan U). Matriks L dan
U merupakan matriks segitiga. Matriks B tidak berubah, karena matriks A
tidak berubah, melainkan hanya ditulis ulang.
U
A X = B X = B
L
34. Langkah:
1. Cari matriks L dan U sehingga A = LU. Matriks B tetap.
U U
A = X = B
L L
2. Definisikan sebuah matriks kolom baru, misalnya Y, yaitu Y = UX, sehingga
LY = B. Lalu hitung y dengan substitusi maju (mulai dari y1 sampai yn ).
U
Y = X Y = B
L
3. Hitung x dengan substitusi mundur (mulai dari xn sampai x1 ).
Jelas bahwa metode LU Decomposition pada prinsipnya
U sama dengan metode Eliminasi Gauss: matriks U
X = Y merupakan hasil triangulasi matriks A, yang juga
mengakibatkan B berubah menjadi Y.
36. Jadi, elemen matriks L dan U dicari menurut:
li1 = ai1 (i = 1, ..., n)
a1j
u1j = (j = 2, ..., n)
l11
j−1
lij = aij − ∑ likukj (i = j, ..., n; j = 2, ..., n)
k =1
i−1
aij − ∑likukj
k =1
uij = (j = i + 1, ..., n; i = 2, ..., n - 1)
lii
secara bergantian:
1. matriks L kolom 1, matriks U baris 1
2. matriks L kolom 2, matriks U baris 2
3. …
4. matriks L kolom (n-1), matriks U baris (n-1)
5. matriks L kolom n
38. 2 −3 2 − 6
Kembali ke soal AX = B , dengan A = − 1 2 − 3 , B = 2 .
1 1 − 1 0
Jawab: 2 0 0 1 − 1.5 1
A = LU L = − 1 0.5 0 , U = 0 1 − 4
1 2.5 8 0 0 1
− 3
Y = UX, LY = B Y = − 2
1
−1
UX = Y X = 2
1
39. Kasus Beberapa Sistem Persamaan Linear
Pada kasus yang lebih umum bisa saja terdapat beberapa sistem
persamaan linear dengan nilai B yang berlainan, namun memiliki nilai A
yang sama.
Dalam bentuk matriks sistem seperti ini dituliskan sebagai:
A X = B atau AX = B
Keterangan: • A matriks n x n, X dan B matriks n x m, dengan m =
jumlah sistem persamaan linear, n = jumlah persamaan
/ unknown dalam tiap sistem persamaan tersebut
• Tiap kolom matriks X merupakan solusi untuk kolom
yang sama pada matriks B.
Langkah dan rumus pada metode Eliminasi Gauss dan LU Decomposition
berlaku sama untuk kasus ini. Hanya saja, di sini matriks X dan B terdiri
dari beberapa kolom, bukan hanya satu.
41. Metode Eliminasi Gauss:
• rumus triangulasi:
(0) (0)
aij = aij , bir = bir (i, j = 1, ..., n; r = 1, ..., m)
(m) (m)
a (k -1) aij , bir ≡ aij , bir
aij = aij -1) −
(k) (k ik
(k -1)
akj -1) (k = 1, ..., n − 1;i = k + 1, ..., n;
(k
pada langkah ke m
a kk
(k) aik -1) (k −1)
(k
bir = bir −1) − (k-1) bkr
(k
j = k, ..., n;r = 1, ..., m)
akk
• rumus substitusi mundur:
bnr -1)
(n
xnr = (n-1) (r = 1, ..., m)
ann
n
b(n- j-1)
n- j,r − ∑a
k =n - j+1
(n- j-1)
n- j,kx kr
xn − j,r = (n- j-1)
(j = 1, ..., n − 1; r = 1, ..., m)
a n - j,n - j
42. Metode LU Decomposition:
• rumus substitusi maju untuk menghitung y (kini Y matriks n x m):
b1r
y1r = (r = 1, ..., m)
l11
i−1
bir − ∑ lij yjr
j=1
yir = (i = 2, ..., n; r = 1, ..., m)
lii
• rumus substitusi mundur untuk menghitung x:
xnr = ynr (r = 1, ..., m)
n
xn-i,r = yn −i,r − ∑u
j=n −i+1
n −i, j xjr (i = 1, ..., n − 1;r = 1, ..., m)
43. Perhatikan metode LU Decomposition, anggap matriks L dan U
telah diperoleh. Jika kemudian terdapat lagi sistem persamaan
linear dengan A sama dan B berbeda, maka matriks L dan U
yang telah diperoleh itu bisa langsung dipakai untuk sistem
persamaan yang baru tersebut.
Kini perhatikan metode Eliminasi Gauss, anggap triangulasi
matriks A sudah dikerjakan. Jika kemudian terdapat lagi
sistem persamaan linear dengan A sama dan B berbeda, maka
hasil triangulasi matriks A yang sudah diperoleh tidak dapat
dipakai untuk sistem persamaan yang baru. Untuk sistem yang
baru tersebut proses triangulasi matriks A harus dilakukan
lagi dari awal.
Hal ini disebabkan, matriks B harus berubah mengikuti proses
triangulasi matriks A, sementara proses penguraian matriks A
menjadi matriks L dan U tidak melibatkan matriks B.
44. Catatan:
Dalam rumus-rumus baik pada metode Eliminasi Gauss
maupun LU Decomposition terdapat pembagian oleh elemen
diagonal matriks yaitu, oleh elemen diagonal matriks A pada
metode Eliminasi Gauss, dan elemen diagonal matriks L pada
metode LU Decomposition.
Jika secara kebetulan elemen diagonal itu nol, maka akan
timbul error.
Karena itu, pada setiap langkah dalam proses triangulasi
matriks A (metode Eliminasi Gauss) atau pencarian matriks L
dan U (metode LU Decomposition) perlu dilakukan
pemeriksaan, apakah elemen matriks A atau L yang
bersangkutan sama dengan nol.
Jika bernilai nol, maka baris berisi elemen diagonal nol itu
harus ditukar dengan salah satu baris setelahnya, sehingga
elemen diagonal menjadi bukan nol. Perubahan baris pada
matriks A (metode Eliminasi Gauss) harus disertai
perubahan baris yang sama pada matriks B. Perubahan baris
pada matriks L (metode LU Decomposition) harus disertai
perubahan baris yang sama pada matriks A dan B.
47. Data Fitting dengan
Metode Least Square
f(x) Keterangan:
p(x) • f(xi ) mewakili data;
i = 1, …, N;
N = jumlah data
• p(x) merupakan fungsi
yang dicocokkan (fitted)
terhadap data f( xi )
Sifat fitting:
tidak selalu p(xi ) = f( xi )
untuk semua xi .
x
48. Prinsip penentuan fungsi p(x):
• p(x) merupakan polinomial orde m:
m
p(x) = a0 + a1x + a2x + a3x + ... + amx = ∑ ajx j
2 3 m
j= 0
(Secara umum, p(x) juga bisa merupakan polinomial bentuk yang
lain seperti, polinomial Legendre.)
• Selisih antara p(x) dan f(x) untuk titik data tertentu:
m
∆i = f(xi ) − p(xi ) = f(xi ) − ∑ ajxij (i = 1, ..., N )
j= 0
• Jumlah kuadrat selisih antara p(x) dan f(x) untuk semua titik data:
2
N N
N m
S = ∑ ∆i = ∑ (f(xi ) − p(xi ) ) = ∑ f(xi ) − ∑ ajxij
2 2
i=1
i=1 i=1 j= 0
Fungsi p(x) ditentukan dengan mencari nilai aj (j = 0, …, m) yang membuat
S bernilai minimum.
49. Titik Minimum
g(x)
g(a) merupakan titik minimum jika:
dg(x)
dg(x) d2g(x)
dx x = a = 0 dan 2
>0
dx x = a dx x = a
x
a
Spesial: fungsi kuadratik g(x) = ax2 + bx + c
dg(x)
= 2ax + b
dx g(x) memiliki satu titik minimun jika a > 0 atau
2
d g(x) sebaliknya satu titik maksimum jika a < 0.
= 2a
dx 2
50. S merupakan fungsi kuadratik dalam aj (j = 0, …, m):
2
N m N m
S(a0 , ..., am ) = ∑ j
( 2
)
f(xi ) − ∑ ajxi = ∑ ∑ aj xi2j + ... + f2 (xi )
i=1 j= 0 i=1 j= 0
N
∂S(a0 , ..., am ) m
= −2∑ f(xi ) − ∑ ajxij xik
(k = 0, ..., m)
∂ak i=1 j= 0
∂ 2S(a0 , ..., am ) N
2
= 2∑ xi2k > 0 (k = 0, ..., m)
∂ak i=1
S memiliki satu titik minimum pada nilai aj (j = 0, …, m) tertentu.
51. Mencari aj (j = 0, …, m):
N
∂S(a0 , ..., am ) m
= −2∑ f(xi ) − ∑ ajxij xik = 0
(k = 0, ..., m)
∂ak i=1 j= 0
m
N j+k N
∑ ∑ xi aj = ∑ f(xi )xik
j= 0 i=1 i=1
(k = 0, ..., m)
N N
Definisikan: ckj ≡ ∑ x i
j +k
bk ≡ ∑ f(xi )xik
i=1 i=1
m
maka diperoleh sebuah sistem persamaan linear: ∑c
j= 0
a = bk
kj j (k = 0, ..., m)
dalam bentuk matrik: C A = B atau CA = B
Jadi, aj (j = 0, …, m) diperoleh sebagai solusi persamaan linear CA = B.
52. Contoh: Terdapat tiga data f(x) yaitu, f(1) = 30, f(2) = 70 dan f(3) = 120.
Cari fungsi p(x) yang dapat melukiskan data itu.
Dari data itu jelas p(x) bukan fungsi linear. f(x) p(x)
Jadi, dicoba fungsi kuadratik:
120
p(x) = a0 + a1x + a2x2
Sistem persamaan linier untuk mencari aj : 70
3 6 14 a0 220
30
6 14 36 a1 = 530
14 36 98 a 1390 x
2
1 2 3
3 6 14 a0 220 a0 0
0 1 4 a1 = 45 a1 = 25
0 0 1 a 5 a 5
2 2
Jadi, p(x) = 5x(x + 5 ) Cek: p(1) = 30, p(2) = 70,
OK!
p(3) = 120
53. Contoh: Kuat medan listrik E di sekitar sebuah benda berbentuk lempeng
diukur pada jarak 10 cm dari pusat massanya dan arah yang
bervariasi. Arah dinyatakan dalam sudut θ terhadap sumbu y yang
ditetapkan sebelum pengukuran. Diperoleh data sebagai berikut:
θ [derajat] E [V/cm]
y
10 0.01794775
15 0.03808997
20 0.05516225 θ E
25 0.05598281
30 0.04795629
35 0.04807485
40 0.06273566
45 0.07853982
50 0.07395442
55 0.04201338
Cari fungsi p(x) yang dapat melukiskan data itu.
56. Interpolasi
f(x) Keterangan:
p(x) • f(xi ) mewakili data;
i = 1, …, N;
N = jumlah data
• p(x) merupakan fungsi
interpolasi berdasarkan
data f(xi )
Sifat interpolasi:
p(xi ) = f(xi )
untuk semua xi .
x
57. Interpolasi Lagrange
Digunakan p(x), suatu polinomial berorde m = N – 1, dengan N = jumlah data:
p(x) = a0 + a1x + a2x2 + ... + aN-1x N-1 ≅ f(x)
Nilai ai (i = 0, …, N-1) ditetukan dengan menetapkan bahwa untuk semua titik
data:
p(xi ) = f(xi ) (i = 1, ..., N )
Jadi, diperoleh persamaan linear:
p(x1 ) = a0 + a1 x1 + a2 x12 + ... + aN-1 x1N-1 = f(x1 )
p(x2 ) = a0 + a1x2 + a2 x2 + ... + aN-1x2 -1 = f(x2 )
2 N
p(x3 ) = a0 + a1x3 + a2x3 + ... + aN-1x3 -1 = f(x3 )
2 N
...
p(xN ) = a0 + a1xN + a2xN + ... + aN-1 xN -1 = f(xN )
2 N
dan ai (i = 0, …, N-1) diperoleh sebagai solusi dari persamaan linear itu.
59. N
Secara umum, untuk N data p(x) = ∑ l(x, xi )f(xi )
i=1
rumus interpolasi Lagrange:
x − xj
l(x, xi ) = ∏
xi − xj
j≠i
Untuk x = xk (k = 1, …, N):
xi − xj
∏ = 1, (i = k)
xk − xj j≠i xi − xj
l(xk , xi ) = ∏ =
j≠i xi − xj ... xk − xk ... = 0, (i ≠ k)
x −x
i j
l(xk , xi ) = δik p(xk ) = f(xk )
60. Perlukah memakai semua N data yang ada?
Pada bagian sebelum ini interpolasi menggunakan seluruh N data f( xi ) yang
tersedia, yang berarti menggunakan polinomial p(x) berorde N-1.
Kini, misal N = 4 dan x berada di sekitar x4 , maka diperoleh:
x − x2 x − x3 x − x4 x − x1 x − x3 x − x4
x − x x − x x − x
l(x, x1 ) = x − x x − x x − x
l(x, x2 ) =
1 2 1 3 1 4 2 1 2 3 2 4
x − x1 x − x2 x − x4 x − x1 x − x2 x − x3
l(x, x3 ) =
x − x x − x x − x
l(x, x4 ) =
x − x x − x x − x
3 1 3 2 3 4 4 1 4 2 4 3
Dapat dilihat bahwa, l(x, x1 ) < l(x, x2 ) < l(x, x3 ) < l(x, x4 ) .
Ini berarti, semakin jauh dari x pengaruh data f( xi ) semakin kecil dalam
menentukan nilai p(x). Data yang penting yaitu yang berada di sekitar titik x.
Karena itu, cukup data-data di sekitar titik x yang digunakan.
Dengan kata lain, untuk interpolasi cukup digunakan polinomial p(x) berorde
rendah, contoh berorde 3 (fungsi kubik).
61. Interpolasi Lagrange Kubik
Interpolasi Lagrange Kubik menggunakan polinomial p(x) berorde 3 sebagai
fungsi interpolasi:
p(x) = a0 + a1x + a2x2 + a3x3 ≅ f(x)
Untuk mencari nilai aj (j = 0, 1, 2, 3) diperlukan 4 data f( xi ) di sekitar x:
f(x0 ), f(x1 ), f(x2 ), f(x3 ) (xi ≤ x ≤ xi+1 ; x0 = xi-1 , x1 = xi , x2 = xi+1 , x3 = xi+2 )
untuk membentuk sistem persamaan linear:
2 3
a0 + a1xj + a2xj + a3xj = f(xj ) (j = 0, 1, 2, 3)
Langkah pertama dengan begitu, menentukan xj (j = 0, 1, 2, 3) dengan
melihat posisi x di antara titik data xi (i = 1, …, N).
Diperoleh
3 x − xk
p(x) = ∑ l(x, xj )f(xj ) l(x, xj ) = ∏
k ≠ j xj − xk
j= 0
62. Catatan:
Karena fungsi interpolasi p(x) dicocokkan dengan data f(x0 = xi-1 ), ..., f(x3 = xi+2 )
maka p(x) berlaku hanya untuk daerah xi-1 ≤ x ≤ xi+2 . Untuk daerah x yang lain
berlaku fungsi interpolasi p(x) yang lain.
Pada batas antara dua daerah yang bersebelahan, masing-masing fungsi
interpolasi p(x) dari kedua daerah berbeda itu menunjukan nilai yang sama,
karena dalam menentukan p(x) selalu dibuat agar p(x) cocok dengan setiap titik
data dalam daerah itu.
pI (x2 ) = f(xi+2 ) II
xi-1 xi+2 xi+5
I pII (x0 ) = f(xi+2 )
Dengan kata lain, p(x) bersifat kontinyu. Tetapi, tidak begitu dengan turunannya:
p’(x) bersifat diskontinyu pada batas dua daerah yang bersebelahan.
63. Interpolasi Hermite Kubik
Dengan menggunakan polinomial p(x) berorde 3 (kubik), interpolasi
dilakukan di antara dua titik data yang berurutan, yaitu dalam interval
xi ≤ x ≤ xi+1:
p(x) = a0 + a1x + a2x2 + a3x3 ≅ f(x)
Jadi, yang pertama dilakukan yaitu, menentukan posisi x di antara titik
data xi (i = 1, …, N).
Untuk mencari aj (j = 0, 1, 2, 3) diperlukan 4 persamaan, yang ditetapkan
sebagai berikut:
p(x1 ) = a0 + a1 x1 + a2x12 + a3x13 = f(x1 )
2 3
p(x2 ) = a0 + a1x2 + a2x2 + a3x2 = f(x2 )
2
(xi ≤ x ≤ xi+1 ; x1 = xi , x2 = xi+1 )
p'(x1 ) = a1 + 2a2x1 + 3a x = f'(x1 )
3 1
2
p'(x2 ) = a1 + 2a2x2 + 3a3x2 = f'(x2 )
Jadi, pada interpolasi Hermite diperlukan sebagai data bukan saja f(x)
namun juga turunannya f’(x).
65. Dengan aj (j = 0, 1, 2, 3) yang sudah diperoleh, didapat fungsi
interpolasi p(x) sebagai berikut:
2
(
p(x) = ∑ h1 (x, xj )f(xj ) + h2 (x, xj )f'(xj ) )
j=1
2
(x − x1 ) x − x2
h1 (x, x1 ) = 1 − 2
x − x
(x1 − x2 ) 1 2
2
(x − x2 ) x − x1
h1 (x, x2 ) = 1 − 2
x − x
(x2 − x1 ) 2 1
2
x − x2
h2 (x, x1 ) = (x − x1 )
x −x
1 2
2
x − x1
h2 (x, x2 ) = (x − x2 )
x −x
2 1
Pada interpolasi Hermite bukan saja p(x) yang dicocokkan dengan data f(x) namun
juga turunannya p’(x) dicocokkan dengan data f’(x). Karena itu, baik p(x) maupun
p’(x) bersifat kontinyu. Ini berbeda dari yang ditemui pada interpolasi Lagrange.
66. Interpolasi Hermite Orde Lebih Tinggi
Interpolasi Hermite tidak terbatas hanya menggunakan polinomial p(x) berorde
3 (kubik), namun dapat juga yang berorde lebih tinggi. Untuk itu diperlukan
lebih banyak data, bukan hanya f(x) dan f’(x) pada titik xi dan xi+1 .
Secara umum fungsi interpolasi Hermite p(x) berupa polinomial berorde (2n - 1)
memerlukan n data f(x) dan n data f’(x):
n
(
p(x) = ∑ h1 (x, xj )f(xj ) + h2 (x, xj )f'(xj ) )
j=1
dengan:
( )
h1 (x, xj ) = 1 − 2(x − xj )l'(xj ) l2 (x, xj )
h2 (x, xj ) = (x − xj )l2 (x, xj )
x − xk
l(x, xj ) = ∏
k ≠ j xj − xk
1
l'(xj ) = ∑
k ≠ j (xj − xk )
67. Interpolasi Hermite Kubik tanpa Data f’(x)
Interpolasi Hermite memerlukan sebagai data selain f(x) juga f’(x). Pada
beberapa kasus bisa saja data f’(x) tidak tersedia, melainkan hanya data f(x).
Pada kasus ini sebenarnya interpolasi Hermite tidak bisa dipakai. Tetapi, jika
f’(x) bisa diperoleh melalui pendekatan (approximation) maka, interpolasi
Hermite bisa dipakai.
f’( xi ) dapat dihitung sebagai turunan sebuah fungsi kuadratik g(x), yang
dicocokkan dengan data f(x) pada titik-titik xi-1 , xi , xi+1 :
g(xi-1 ) = f(xi-1 )
g(x) = ax 2 + bx + c g(xi ) = f(xi ) (a, b, c)
g(xi+1 ) = f(xi+1 )
f'(xi ) ≅ g'(xi ) = 2axi + b
Dapat dilihat bahwa, proses pencarian f’(x) ini berdiri sendiri, berada di luar
atau bukan bagian dari proses interpolasi Hermite. Dengan begitu, sifat
kontinyu fungsi interpolasi Hermite p(x) dan turunannya p’(x) tidak berubah.
68. Dari sistem persamaan linear:
axi21 + bxi-1 + c = f(xi-1 )
-
axi2 + bxi + c = f(xi )
axi2 1 + bxi+1 + c = f(xi+1 )
+
diperoleh:
f(xi−1 ) f(xi ) f(xi+1 )
a= + +
(xi−1 − xi )(xi−1 − xi+1 ) (xi − xi−1 )(xi − xi+1 ) (xi+1 − xi−1 )(xi+1 − xi )
(xi + xi+1 )f(xi−1 ) (xi-1 + xi+1 )f(xi ) (xi-1 + xi )f(xi+1 )
b=− − −
(xi−1 − xi )(xi−1 − xi+1 ) (xi − xi−1 )(xi − xi+1 ) (xi+1 − xi−1 )(xi+1 − xi )
sehingga:
xi − xi+1 f(xi−1 ) 1 1 x − x f(xi+1 )
f'(xi ) ≅ + + f(xi ) + i i-1
xi−1 − xi+1 (xi−1 − xi ) xi − xi+1 xi − xi−1
x − x (x − x )
i +1 i−1 i +1 i
70. Interpolasi Spline Kubik
Seperti interpolasi Lagrange, interpolasi Spline kubik juga memerlukan hanya
f(x) sebagai data. Namun, turunan fungsi interpolasi Spline kubik p’(x) dibuat
bersifat kontinyu.
Interpolasi Spline kubik menggunakan polinomial p(x) orde 3, untuk xi ≤ x ≤ xi+1 :
p(x) = di + ci (x − xi ) + bi (x − xi )2 + ai (x − xi )3 ≅ f(x)
Turunan pertama dan kedua p(x) yaitu:
p'(x) = ci + 2bi (x − xi ) + 3ai (x − xi )2
p''(x) = 2bi + 6ai (x − xi )
Evaluasi pada titik x = xi menghasilkan:
pi ≡ p(xi ) = di = f(xi ) p'' ≡ p''(xi ) = 2bi
i
dan pada titik x = xi+1:
p''+1 ≡ p''(xi+1 ) = 2bi + 6aihi pi+1 ≡ p(xi+1 ) = di + cihi + bihi2 + aihi3 = f(xi+1 ) hi ≡ xi+1 − xi
i
71. Jadi,
p''i p''+1 −p''
i i pi+1 − pi hip''+1 +2hip''
i i
di = pi bi = ai = ci = −
2 6hi hi 6
sehingga diperoleh:
p − p h p'' h p'' p'' p'' −p''
p(x) = pi + i+1 i − i i+1 − i i (x − xi ) + i (x − xi )2 + i+1
h
i
(x − xi )3
i 6 3 2 6h
i
pi+1 − pi hip''+1 hip'' p'' −p''
p'(x) = − i
− i
+ p'' (x − xi ) + i+1
i 2h
i
(x − xi )2
hi 6 3 i
p(x) telah dicocokkan dengan data f(x) di titik-titik batas interval, sehingga
bersifat kontinyu. Untuk membuat p’(x) kontinyu maka dicari ekspresi p’(x)
untuk daerah sebelumnya xi-1 ≤ x ≤ xi :
pi − pi-1 hi-1p'' hi-1p''-1 p'' −p''-1
p'(x) = − i
− i
+ p''-1 (x − xi-1 ) + i
i 2h
i
(x − xi-1 )2
hi-1 6 3 i-1
dan disamakan dengan p’(x) untuk daerah xi ≤ x ≤ xi+1 di titik x = xi .
72. Untuk N = jumlah data, diperoleh:
pi+1 − pi pi − pi-1
hi-1p''-1 +2(hi-1 + hi )p'' +hip''+1 = 6
i i i h − h
(i = 2, ..., N - 1)
i i-1
Untuk menghitung p(x) diperlukan p’’(x) di semua N titik data. (N-2) buah
persamaan di atas tidak cukup untuk mendapatkan p’’(x) di semua titik data.
Masih diperlukan 2 persamaan lagi, yang diperoleh dengan mengevaluasi p’(x) di
titik awal x = x1 (memakai ekspresi p’(x) untuk x1 ≤ x ≤ x2 ) dan akhir x = xN
(memakai ekspresi p’(x) untuk xN-1 ≤ x ≤ xN ). Didapat:
p −p
(i = 1) 2h1p'' +h1p'' = 6 2 1 − p'
1 2 h 1
1
p −p
(i = N) hN-1p''N-1 +2hN-1p''N = 6 p'N − N N-1
hN-1
Masalah: p’(x) di titik awal x = x1 dan akhir x = xN tidak diketahui, ??
Ada dua cara. Pertama yang disebut spline alamiah yaitu, menetapkan p’’(x) di
titik awal x = x1 dan akhir x = xN sama dengan nol. Kedua, menebak nilai p’(x) di
titik awal x = x1 dan akhir x = xN .
73. Interpolasi Multidimensi
Jika data bergantung pada lebih dari satu variabel, maka dilakukan interpolasi
multidimensi. Metode interpolasi yang telah disampaikan bisa dipakai untuk
melakukan interpolasi multidimensi. Sebagai contoh di sini ditunjukkan
interpolasi 2 dimensi. Untuk dimensi lebih tinggi berlaku cara yang sama.
n m
p(x, y) = ∑ S(x, xi )∑ S(y, yj )f(xi , yj )
i=1 j=1
Pada contoh di atas, interpolasi menggunakan (n x m) data f(x,y). Interpolasi
dilakukan per dimensi: Untuk satu titik data x tertentu dilakukan interpolasi di
sepanjang sumbu y, hal yang sama dilakukan untuk semua titik data x yang lain.
Prinsip yang sama berlaku untuk interpolasi berdimensi lebih tinggi.
74. Contoh, interpolasi Lagrange kubik:
3 3
p(x, y) = ∑ l(x, xi )∑ l(y, yj )f(xi , yj )
i= 0 j= 0
x − xk
l(x, xi ) = ∏ x −x
k ≠i i k
y − ys
l(y, yj ) = ∏
s ≠ j yj − ys
75. Kembali ke contoh problem least square:
Kuat medan listrik E di sekitar sebuah benda berbentuk lempeng
diukur pada jarak 10 cm dari pusat massanya dan arah yang
bervariasi. Arah dinyatakan dalam sudut θ terhadap sumbu y yang
ditetapkan sebelum pengukuran. Diperoleh data sebagai berikut:
θ [derajat] E [V/cm]
y
10 0.01794775
15 0.03808997
20 0.05516225 θ E
25 0.05598281
30 0.04795629
35 0.04807485
40 0.06273566
45 0.07853982
50 0.07395442
55 0.04201338
Dengan interpolasi, cari nilai p(x) di sepanjang titik data.
76.
77. Integrasi
Menghitung luas daerah di bawah kurva:
f(x) f(x)
analitik numerik
b
∫ f(x) dx ∑ w f(x )
i
i i
a
x x
a b a b
b N Integral numerik sering disebut juga sebagai
I = ∫ f(x) dx ≅ ∑ wif(xi ) quadrature; integrasi numerik disebut sebagai
a i=1 integrasi dgn menjumlah quadrature.
78. Meski tidak terlihat pada rumus akhir, pada integrasi numerik integrand
f(x) diinterpolasi dengan suatu polinomial:
b N
I = ∫ f(x) dx ≅ ∑ wif(xi )
a i=1
f(x) ≅ p(x) polinomial
Dilihat dari titik-titik xi tempat integrand f(x) dihitung, ada teknik integrasi
numerik yang menggunakan xi berjarak tetap dan ada yang memakai xi
berjarak tidak tetap.
Contoh (akan dibahas):
• quadrature trapezoid, Simpson menggunakan xi berjarak sama,
• quadrature Gaussian menggunakan xi berjarak tidak sama.
79. Quadrature Trapezoid
Kurva integrand f(x) diinterpolasi dengan sebuah garis lurus (f(x) diinterpolasi
dengan fungsi linier / polinomial orde 1):
b b N
I = ∫ f(x) dx ≅ ∫ p(x) dx = ∑ wip(xi ), p(x) = r + sx
a a i=1
f(x)
Untuk menarik garis lurus p(x)
diperlukan minimal 2 titik,
dipilih titik f(a) dan f(b):
p(a) = f(a), p(b) = f(b)
b
∫ p(x) dx
a
x
a b
80. Dengan diketahui hanya p(a) dan p(b) (r dan s tidak dicari), maka integrasi
numerik dikerjakan untuk N = 2:
b 2
∫ p(x) dx = ∑ w p(x ) = w p(x ) + w p(x ) = w p(a) + w p(b)
a i=1
i i 1 1 2 2 1 2 w1 , w2 = ?
Mencari w1 dan w2 :
b
∫ (r + sx) dx = w (r + sa) + w (r + sb)
1 2
p(x) = r + sx a
1
r(b - a) + s(b2 − a2 ) = r(w1 + w2 ) + s(aw1 + bw2 )
2
w1 + w2 = b - a 1
1 w1 = w2 = (b − a)
aw1 + bw2 = (b2 − a2 ) 2
2
b
h
Rumus quadrature trapezoid: I = ∫ f(x) dx ≅ (f(a) + f(b) ) (h = b − a)
a
2
luas trapezoid (lihat gambar)
81. Quadrature Simpson & Boole
Cara yang sama seperti pada quadrature trapezoid bisa dipakai untuk polinomial
p(x) orde lebih tinggi. Contoh, quadrature Simpson memakai p(x) fungsi
kuadratik / polinomial orde 2 untuk menginterpolasi integrand f(x):
c c N
I = ∫ f(x) dx ≅ ∫ p(x) dx = ∑ wip(xi ), p(x) = r + sx + tx2
a a i=1
f(x)
Untuk membuat kurva
kuadratik diperlukan
minimal 3 titik, dipilih titik p(x)
f(a), f(b) dan f(c):
p(a) = f(a), p(b) = f(b),
b
p(c) = f(c) ∫ p(x) dx
a
a+c
dengan b= x
2 a b c
82. Integrasi numerik dikerjakan untuk N = 3:
c 3
∫ p(x) dx = ∑ w p(x ) = w p(a) + w p(b) + w p(c)
a i=1
i i 1 2 3 w1 , w2 , w3 = ?
Mencari w1 , w2 , w3:
p(x) = r + sx + tx2
c
∫
a
(r + sx + tx2 ) dx = w1 (r + sa + ta2 ) + w2 (r + sb + tb2 )
+ w3 (r + sc + tc2 )
1 1
r(c - a) + s(c2 − a2 ) + t(c3 − a3 ) = r(w1 + w2 + w3 ) + s(aw1 + bw2 + cw3 )
2 3
+ t(a2w1 + b2w2 + c2w3 )
w1 + w2 + w3 = c - a 1
w1 = w3 = (c − a)
1 6
aw1 + bw2 + cw3 = (c2 − a2 )
2 2
1 w2 = (c − a)
a2w1 + b2w2 + c2w3 = (c3 − a3 ) 3
3
83. c
h
Diperoleh Rumus quadrature Simpson: I = ∫ f(x) dx ≅ (f(a) + 4f(b) + f(c) )
a
3
c−a
dengan h = yaitu jarak antar titik xi tempat f(x) dihitung: h = b − a = c − b
2
Dengan cara yang sama, menggunakan p(x) polinomial orde 3 diperoleh rumus
quadrature Simpson 3 8 :
d
3h d-a
I = ∫ f(x) dx ≅ (f(a) + 3f(b) + 3f(c) + f(d) ) h = = b − a = c − b = d − c
a
8 3
dan dengan p(x) polinomial orde 4 rumus quadrature Boole:
e
2h e-a
I = ∫ f(x) dx ≅ (7f(a) + 32f(b) + 12f(c) + 32f(d) + 7f(e) ) h= = b− a
45 4
a
= c −b
= d−c
= e − d
84. Integrasi Komposit
Polinomial orde rendah memadai untuk menginterpolasi sebuah fungsi dalam
daerah yang sempit. Untuk daerah yang lebar diperlukan orde yang lebih tinggi.
Alternatif lain yaitu, membagi daerah fungsi yang lebar itu dalam beberapa
daerah yang sempit, lalu di tiap daerah yang sempit itu digunakan polinomial
orde rendah untuk interpolasi.
Quadrature trapezoid dan Simpson pada dasarnya memadai untuk daerah
integrasi yang sempit, namun dengan membagi daerah integrasi dalam beberapa
daerah yang sempit, maka quadrature trapezoid dan Simpson bisa dipakai juga
untuk daerah integrasi yang lebar. Integral total merupakan jumlah semua
integral untuk daerah yang sempit. Integrasi seperti ini disebut integrasi
komposit.
Bergantung pada integrand f(x), daerah integrasi yang lebar bisa dibagi dalam
beberapa daerah sempit yang sama atau berbeda panjang. Juga, semua integral
untuk daerah yang sempit bisa dihitung menurut rumus quadrature yang sama,
misal semuanya trapezoid, atau berbeda-beda, sesuai kurva di tiap daerah
sempit itu. Kasus sederhana yaitu, bila daerah integrasi dibagi sama panjang
dan untuk tiap daerah digunakan rumus quadrature yang sama.
85. Contoh, daerah integrasi [a,b] dibagi dalam N bagian sama panjang.
b a +d a +2d b -d b
b−a
I = ∫ f(x) dx = ∫ f(x) dx + ∫ f(x) dx + ... + ∫ f(x) dx + ∫ f(x) dx d=
a a a +d b-2d b -d N
• integrasi komposit menggunakan quadrature trapezoid
b
I = ∫ f(x) dx ≅ h[2 (f + f ) + f + f + ... + f −1 ]
1
0 N 1 2 N
a
b−a
h= , f = f(a + ih), i = 0, ..., N
i
N
• integrasi komposit menggunakan quadrature Simpson
b
2h 1
I = ∫ f(x) dx ≅ [2 (f0 + f2N ) + 2(f1 + f3 + ... + f2N−1 ) + f2 + f4 + ... + f2N−2 ]
a
3
b−a
h= , f = f(a + ih), i = 0, ..., 2N
i
2N
86. Integrasi komposit trapezoid untuk daerah integrasi [a,b] yang dibagi 8
sama panjang:
b
I = ∫ f(x) dx ≅ h[2 (f0 + f ) + f + f + f + f4 + f + f + f ]
1
8 1 2 3 5 6 7
a
f(x)
x
a b
h
87. Integrasi komposit yang menggunakan quadrature trapezoid dan Simpson;
daerah integrasi [a,b] yang dibagi 3:
b
h1
I = ∫ f(x) dx ≅ (fa + 2fa +h1 + fc ) + h2 (fc + 4fc+h2 + fb )
a
2 3
f(x)
Simpson
trapezoid
x
a c b
h1 h1 2h2
88. Quadrature Gaussian
Quadrature Gaussian memanfaatkan polinomial yang memiliki sifat orthogonal
dan ternormalisasi sebagai berikut:
b n
∫ v(x)O (x)O
n m (x) dx = δnm , On (x) = ∑ bixi
a i= 0
Contoh:
1
On = 2n +1
2 nP , P = polinomial Legendre
n ∫ O (x)O
-1
n m (x) dx = δnm
∞
On = n! Ln , Ln =
1
polinomial Laguerre ∫e
-x
On (x)Om (x) dx = δnm
0
Dengan quadrature Gaussian, dievaluasi integral berbentuk:
b N
∫ v(x)f(x)dx = ∑ w f(x )
a i=1
i i wi , xi = ?
89. Mencari xi :
Anggap integrand f(x) merupakan polinomial orde 2N-1 (atau katakan saja f(x)
diinterpolasi dengan polinomial p(x) orde 2N-1):
2N -1 N -1 2N -1
f(x) ≅ p(x) = ∑ aix = r(x) + s(x)
i= 0
i
dengan r(x) = ∑ aix , s(x) =
i= 0
i
∑ aixi
i =N
s(x) bisa ditulis sebagai s(x) = q(x)ON (x) dengan q(x) polinomial orde N-1:
N -1 N -1
q(x) = ∑ dix = ∑ ciOi (x)i
i= 0 i= 0
b N -1 b N -1
Maka: ∫ v(x)s(x)dx = ∑ c ∫ v(x)O (x)O
a i= 0
i
a
i N (x)dx = ∑ ciδiN = 0
i= 0
b N N
Secara numerik: ∫ v(x)s(x)dx = ∑ w s(x ) = ∑ w q(x )O
a i=1
i i
i=1
i i N (xi ) = 0
Mengingat q(x) fungsi sembarang, persamaan terakhir dipenuhi hanya jika
ON (xi ) = 0 (i = 1, ..., N) .
xi = akar polinomial ON (x) (i = 1, ..., N)