Metodenumerik PDF
Metodenumerik PDF
Imam Fachruddin
Departemen Fisika, Universitas Indonesia
Untuk dipakai dalam kuliah Analisis Numerik
Dapat diunduh dari http://staff.fisika.ui.ac.id/imamf/
Metode Numerik
Imam Fachruddin
Departemen Fisika, Universitas Indonesia
Daftar Pustaka:
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)
ii
iii
Isi
akar fungsi
25
49
interpolasi
59
integrasi
81
persamaan differensial
109
iv
Akar Fungsi
f(x) = 0
x=?
akar fungsi f(x)
Contoh:
x-
1
=0
x
x2 = 1
3x2 = 6 - 7x
x = 1 dan -1
x = 2/3 dan -3
2
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
celah
sensor
plat
v
cos (t) = t
3
Plot cos(x) dan x:
Grafik ini
menunjukkan
bahwa cos(x) = x
pada x sedikit
kurang dari 0.75.
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
dengan cara memplot fungsi).
2. Tentukan batas awal yang
mengurung akar fungsi.
akar fungsi
dfe c
Batas e, f atau
nilai di
tengahnya bisa
dipilih sebagai
akar fungsi.
f(x)
Kesalahan
kesalahan mutlak = | perkiraan nilai sebenarnya |
kesalahan relatif =
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 |
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)
8
f(x)
b
x
c
a
p(x)
Diperoleh:
x b
xa
p(x) =
f(a) +
f(b)
a b
ba
p(c) = 0
c=
af(b) bf(a)
f(b) f(a)
9
Langkah:
1. Perkirakan akar fungsi (bisa
dengan cara memplot fungsi).
akar fungsi
f(x)
f(x)
b
c
a
c=
af(b) bf(a)
f(b) f(a)
10
f(x)
c=
af(b) bf(a)
f(b) f(a)
b
c
Metode false position juga
menggunakan dua batas seperti
metode bisection. Namun, berbeda
dari metode bisection, pada
metoda false position hanya satu
batas yang berubah.
f(x)
b
c
a
xi+1 =
(i = 0,1, 2, ...;
x0 = b)
xi+1 =
af(xi ) xif(a)
f(xi ) f(a)
bf(xi ) xif(b)
f(xi ) f(b)
(i = 0,1, 2, ...;
x0 = a )
rel =
xi xi+1
xi+1
11
12
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)
x
a
akar fungsi sebenarnya
13
f(x)
c
Diperoleh:
p(x)
p(c) = 0
c= a
f(a)
f'(a)
14
Langkah:
f(x)
a
akar fungsi
sebenarnya
f(x)
a
c
c= a
f(a)
f'(a)
15
1
f(x)
Contoh perkiraan akar
fungsi awal yang baik
perkiraan akar fungsi
makin mendekati akar
fungsi sebenarnya.
2
1
f(x)
Contoh perkiraan akar
fungsi awal yang buruk
perkiraan akar fungsi
makin menjauhi akar
fungsi sebenarnya.
16
xi+1 = xi
f(xi )
f'(xi )
(i = 0,1, 2, ...;
x0 = a )
rel =
xi xi+1
xi+1
17
Secant
Kembali ke metode False Position, untuk contoh batas b tetap, akar fungsi
dicari sebagai berikut:
x1 =
bf(x0 ) x0 f(b)
f(x0 ) f(b)
x2 =
bf(x1 ) x1f(b)
f(x1 ) f(b)
x3 =
bf(x2 ) x2f(b)
f(x2 ) f(b)
Pada metode Secant, batas tidak dijaga tetap, melainkan berubah. Akar
fungsi dicari sebagai berikut:
x1 =
bf(x0 ) x0 f(b)
f(x0 ) f(b)
x2 =
bf(x1 ) x1f(b)
f(x1 ) f(b)
x3 =
x1f(x2 ) x2f(x1 )
f(x2 ) f(x1 )
xi-2f(xi-1 ) xi-1f(xi-2 )
f(xi-1 ) f(xi-2 )
18
f(x)
f(x)
b
b
x
x1
x1
x2
II
secant
false position
f(x)
x3
f(x)
b
x2
x1
x3
III
III
x2
19
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:
x f(x ) xi-1f(xi-2 )
xi = i-2 i-1
f(xi-1 ) f(xi-2 )
-1
f(xi-1 ) f(xi-2 )
f(xi-1 )
xi = xi-1
xi-1 xi-2
Yang menarik, jika i makin besar, maka beda antar dua akar fungsi yang
berturutan semakin kecil, sehingga
= f'(xi-1 )
xi-1 xi-2
dxi-1
xi xi-1
f(xi-1 )
f'(xi-1 )
20
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.
21
Contoh pencarian akar fungsi dengan metode Bisection:
akar fungsi
x
a
x1
x3
Jika
x2
x4
2 = 21 1 , 3 = 21 2
Kecepatan konvergensi bersifat linear:
i+1 = 21 i
22
Pada metode False Position, Newton-Raphson dan Secant akar fungsi dicari
dengan rumus yang bentuknya serupa:
-1
f(xi ) f(a)
f(xi )
= xi
xi a
False Position:
xi+1
Newton-Raphson:
xi+i+1 = xi
(atau a diganti b)
f(xi )
f'(xi )
-1
Secant:
f(xi ) f(xi-1 )
f(xi )
xi+1 = xi
xi xi-1
xi+1 = xi
f(xi )
f'(xi )
i xi xi+1 =
f(xi )
f'(xi )
i+1 =
f(xi+1 )
=?
f'(xi+1 )
f'(xi )
f''(xi ) 2
i
2f'(xi )
Kecepatan konvergensi pada metode NewtonRaphson (kira-kira demikian juga False Position
dan Secant) bersifat kurang lebih kuadratik:
f''(xi ) 2
i+1
i
2f'(xi )
23
24
metode
akar
f(akar)
jumlah langkah
Bisection
0.7390795
9.3692161E-06
12
False Position
0.7390851
-7.7470244E-09
Newton-Raphson
0.7390851
-7.7470244E-09
Secant
0.7390851
-7.7470244E-09
Keterangan:
25
Solusi Sistem
Persamaan Linear
Sistem persamaan linear:
a11x1
+ a12x2
+ a13x3 L + a1nxn
= b1
a21x1
+ a22x2
+ a23x3 L + a2nxn
= b2
a31x1
+ a32x2
+ a33x3 L + a3nxn
= b3
an1x1
+ an2x2
+ an3x3 L + ann xn
M
= bn
n buah
persamaan
dengan n buah
unknown
xj
aij dan bi
diketahui
i, j = 1, 2, , n
xj = ?
26
Soal:
Jawab:
2x 3y + 2z = 6
(1)
x + 2y 3z = 2
(2)
x+ y z =0
(3)
2x
2x
3y + 2z = 6
(1)
0.5y 2z = 1
(2)
2.5y 2z = 3
(3)
3y + 2z = 6
(1)
0.5y 2z = 1
(2)
8z = 8
3 persamaan dan
3 unknown
eliminasi x:
pers. (2) + 0.5 pers. (1)
pers. (3) 0.5 pers. (1)
eliminasi y:
pers. (3) 5 pers. (2)
(3)
z =1
1 + 2z
y=
=2
0.5
6 + 3y 2z
x=
= 1
2
substitusi mundur:
pers. (3) mencari z
pers. (2) mencari y
pers. (1) mencari x
27
2 x 6
2 3
2 3 y = 2
1
z 0
1
1
1
Jawab:
2 x 6
2 3
0 0.5 2 y = 1
0 2.5 2 z 3
2 x 6
2 3
0 0.5 2 y = 1
0
0
8 z 8
z =1
1 + 2z
=2
0.5
6 + 3y 2z
x=
= 1
2
y=
28
Eliminasi Gauss
Metode Eliminasi Gauss mencari solusi sebuah sistem persamaan linear
dengan cara seperti ditunjukkan pada contoh sebelum ini:
a11
a21
a
31
M
a
n1
a13 L a1n x1 b1
a23 L a2n x2 b2
a33 L a3n x3 = b3
M O M M M
an3 L ann xn bn
a12
a22
a32
M
an2
(k)
i
(k -1)
ij
(k 1)
i
aik(k -1) (k 1)
(k -1) bk
akk
=a
=b
(k = 1, ..., n 1;
0
M
(0)
11
(0)
12
(1)
22
0
M
L
O
(0)
13
(1)
23
(2)
33
x1 b
a x2 b
a x3 = b
M M M
(n -1)
(n -1)
x
ann n bn
(0)
1n
(1)
2n
(2)
3n
(0)
1
(1)
2
(2)
3
i = k + 1, ..., n; j = k, ..., n)
29
Substitusi mundur:
a11(0)
0
M
(0)
a12
(1)
a22
(0)
x1 b1(0)
a1n
(1)
(1)
a2n x2 b2
(2)
x3 = b3(2)
L a3n
O
M M M
(n -1)
(n -1)
x
L ann n bn
(0)
a13
L
(1)
a23
L
(2)
a33
bn(n -1)
xn = (n -1)
ann
(n - j-1)
n-j
b
xn j =
k =n - j+1
(n - j-1)
n - j,n - j
(n - j-1)
n - j,k
k
(j = 1, ..., n 1)
30
X = B
atau
AX = B
31
LU Decomposition
X = B
atau
AX = B
X = B
U
L
X = B
32
Langkah:
1. Cari matriks L dan U sehingga A = LU. Matriks B tetap.
X = B
Y =
Y = B
X = Y
33
l11 0 0
l21 l22 0
l l
l
31 32 33
M M M
L 0 1 u12 u13
L 0 0 1 u23
1
L 0 0 0
O M M M
M
L lnn 0 0 0
L u1n a11
L u2n a21
L u3n = a31
O M M
L 1 an1
a12
a22
a32
M
an2
a13 L a1n
a23 L a2n
a33 L a3n
M O M
an3 L ann
Diperoleh:
ai1 = li1
a1j = l11u1j
ai2 = li1u12 + li2
a2j = l21u1j + l22u2j
ai3 = li1u13 + li2u23 + li3
a3j = l31u1j + l32u2j + l33u3j
K
li1 = ai1
a1j
u1j =
l11
li2 = ai2 li1u12
a2j l21u1j
u2j =
l22
li3 = ai3 li1u13 li2u23
a3j l31u1j l32u2j
u3j =
l33
(i = 1, ..., n)
(j = 2, ..., n)
(i = 2, ..., n)
(j = 3, ..., n)
(i = 3, ..., n)
(j = 4, ..., n)
34
li1 = ai1
u1j =
(i = 1, ..., n)
a1j
(j = 2, ..., n)
l11
j1
(i = j, ..., n; j = 2, ..., n)
k =1
i1
aij likukj
uij =
k =1
lii
(j = i + 1, ..., n; i = 2, ..., n - 1)
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
35
Substitusi maju untuk menghitung y:
l11 0 0
l21 l22 0
l l
l
31 32 33
M M M
L 0 y1 b1
L 0 y2 b2
L 0 y3 = b3
O M M M
L lnn yn bn
b1
y1 =
l11
i1
bi lijyj
yi =
j=1
(i = 2, ..., n)
lii
1 u12 u13
0 1 u23
0 0
1
M
M M
0 0 0
L u1n x1 y1
L u2n x2 y2
L u3n x3 = y3
O M M M
L 1 xn yn
xn = yn
n
xn-i = yn i
n i,j
j=n i+1
xj (i = 1, ..., n 1)
36
2
2 3
6
Kembali ke soal AX = B , dengan A = 1
2 3 , B = 2 .
1
0
1
Jawab:
A = LU
0
1
2 0
1 1.5
L = 1 0.5 0 , U = 0
1
4
0
0
1
1 2.5 8
Y = UX, LY = B
UX = Y
1
X = 2
1
3
Y = 2
1
Keterangan:
atau AX = B
37
38
Contoh dua sistem persamaan linear yang memiliki nilai A sama tapi B berbeda.
a11
a21
a
31
M
a
n1
a12
a22
a32
M
an2
a11
a21
a
31
M
a
n1
a12
a22
a32
M
an2
a11
a21
a
31
M
a
n1
a12
a22
a32
M
an2
a23 L a2n x22 b22
a33 L a3n x32 = b32
M O M M M
an3 L ann xn2 bn2
a23 L a2n x21 x22 b21
a33 L a3n x31 x32 = b31
M O M M
M M
an3 L ann xn1 xn2 bn1
b12
b22
b32
M
bn2
39
rumus triangulasi:
(k 1)
ir
=b
(k -1)
ik
(k -1)
kk
a
a
aik(k -1) (k 1)
(k -1) bkr
j = k, ..., n; r = 1, ..., m)
akk
bnr(n -1)
xnr = (n -1)
ann
(n - j-1)
n - j,r
b
xn j,r =
(r = 1, ..., m)
n
(n - j-1)
a
n-j,k xkr
k =n- j+1
(n - j-1)
n - j,n - j
(j = 1, ..., n 1; r = 1, ..., m)
40
Metode LU Decomposition:
y1r =
b1r
l11
(r = 1, ..., m)
i1
bir lijyjr
yir =
j=1
(i = 2, ..., n; r = 1, ..., m)
lii
xnr = ynr
(r = 1, ..., m)
n
xn-i,r = yn i,r
n i,j
j=n i+1
41
42
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.
Soal:
Jawab:
43
2 -4 1 3 x1 2
x
-1
2
3
-2
2 = 2
3 -4 1 2 x3 2
1
-3
-1
5
x4 2
baris 2 ditukar
dengan baris 3
1
3 x1 2
2 -4
x
0
0
3.5
-0.5
2 = 3
0 2 -0.5 -2.5 x3 -1
0 -1 -1.5 3.5 x4 1
1
3 x1 2
2 -4
x
0
2
-0.5
-2.5
2 = -1
0 0 3.5 -0.5 x3 3
0
0
0
2
x4 2
x4 = 1
x3 =
3 + 0.5x4
=1
3.5
0
0
1
3 x1 2
2 -4
x
0
2
-0.5
-2.5
2 = -1
0 0 3.5 -0.5 x3 3
0 -1 -1.5 3.5 x4 1
-4
1
3 x1 2
2 -0.5 -2.5 x2 -1
=
x3 3
0 3.5 -0.5
1 + 0.5x3 + 2.5x4
=1
2
2 + 4x2 x3 3x4
x1 =
=1
2
x2 =
44
2 -4 1 3 2
-1
2
3
-2
B = 2
A=
3 -4 1 2 2
1
-3
-1
5
2 0 0 0
1 2 0.5 1.5
1
l
0
0
1 u23 u24
22
0
L=
U=
3 l32 l33 0
0
0
1
u
34
1 l
l
l
0 0 1
42
43
44
2 0 0 0
2 -4 1 3
3 -4 1 2
3 2 0 0
L=
A=
1 0 l33 0
-1 2 3 -2
1 1 l43 l44
1 -3 -1 5
2 0 0 0
1 0 0 0
L=
3 2 l33 0
1 1 l
l
43
44
0
0
2 0
0.5
1.5
1 2
0
0
1 0.25 1.25
3 2
0
L=
U=
0
1 0 3.5
0
0
1
u34
0
0
0
1
1 1 1.75 l44
0
0
0.5
1.5
2 0
1 2
0
0
1 0.25 1.25
3 2
0
L=
U=
1 0 3.5 0
1/7
0
0
1
1 1 1.75 2
0
0
0
1
2
2
B=
2
2
45
Iterasi Jacobi
sistem persamaan linear:
a x
ij j
= bi (i = 1, ..., n)
j=1
1
solusi: xi =
bi aijxj
aii
ji
1
(0)
= bi aijxj (i = 1, ..., n)
aii
j i
1
= bi aijxj(k -1) (i = 1, ..., n)
aii
j i
Pencarian dihentikan setelah didapat nilai xi yang konvergen yaitu, yang tidak
atau sedikit berubah dari nilai yang diperoleh pada langkah sebelumnya:
xi(k -1)
1 (k) < ,
xi
= bilangan kecil
46
Iterasi Gauss-Siedel
Rumus iterasi Jacobi dapat ditulis:
(k)
i
1
(k -1)
(k -1)
= bi aijxj aijxj
aii
j<i
j>i
Jika pada tiap langkah pencarian dilakukan dengan urutan i yang makin besar,
(k)
(k)
maka semua xj<i sudah diperoleh ketika mencari xi .
Sebaliknya, jika dilakukan dengan urutan i yang makin kecil, maka semua xj(k)
>i
(k)
sudah diperoleh ketika mencari xi .
(k)
(k)
Karena itu, nilai xj(k)
atau
x
<i
j>i itu bisa langsung dipakai untuk mencari xi ,
sehingga iterasi mencapai nilai konvergen menjadi lebih cepat:
1
(k)
(k -1)
b
a
x
a
x
i
ij j
ij j
aii
j<i
j>i
(i = 1, 2, ..., n)
1
(k -1)
(k)
= bi aijxj aijxj
aii
j<i
j>i
(i = n, ..., 2, 1)
xi(k) =
(k)
i
47
48
49
Keterangan:
f(x)
p(x)
Sifat fitting:
tidak selalu p(xi ) = f( xi )
untuk semua xi .
50
j= 0
(i = 1, ..., N )
j= 0
Jumlah kuadrat selisih antara p(x) dan f(x) untuk semua titik data:
m
2
j
2
51
Titik Minimum
g(x)
g(a) merupakan titik minimum jika:
dg(x)
dx
x=a
dg(x)
dx
x=a
2
d
g(x)
= 0 dan
dx 2
>0
x=a
52
m
N m
j
2 2j
2
m
N
k
S(a0 , ..., am )
j
= 2 f(xi ) ajxi xi
ak
i=1
j= 0
N
2S(a0 , ..., am )
2k
=
2
x
>0
i
2
ak
i=1
(k = 0, ..., m)
(k = 0, ..., m)
53
Mencari aj (j = 0, , m):
N
m
k
S(a0 , ..., am )
j
= 2 f(xi ) ajxi xi = 0
ak
i=1
j= 0
N
N j +k
k
x
a
=
f(x
)x
i j
i
i
i=1
j= 0 i=1
m
Definisikan:
(k = 0, ..., m)
(k = 0, ..., m)
ckj x
bk f(xi )xik
j+ k
i
i=1
i=1
m
a = bk
kj j
(k = 0, ..., m)
j= 0
A = B
atau
CA = B
54
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.
Jadi, dicoba fungsi kuadratik:
f(x)
p(x)
120
p(x) = a0 + a1 x + a2x 2
Sistem persamaan linier untuk mencari aj :
3 6 14 a0 220
6
14
36
a
=
530
14 36 98 a 1390
3 6 14 a0 220
0 1 4 a1 = 45
0 0 1 a 5
Jadi,
p(x) = 5x(x + 5)
70
30
1
a0 0
a1 = 25
a 5
2
Cek:
55
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]
10
15
20
25
30
35
40
45
50
55
0.01794775
0.03808997
0.05516225
0.05598281
0.04795629
0.04807485
0.06273566
0.07853982
0.07395442
0.04201338
56
a0 = 8.983713484853211E - 03
m = 3:
a1 = 1.324478388111303E - 03
a2 = 3.487808787880805E- 05
a3 = - 8.085809790211842E - 07
S = 1.0339E - 03
m = 5:
a3 = - 5.862332690401015E - 05
a4 = 1.362046192596346E- 06
a5 = - 1.063951754163944E - 08
S = 8.1573E - 05
m = 9:
a0
a1
a2
a3
= - 1.757260839248139E - 02
= 1.596300085173997E - 02
= - 3.402768734407800E- 03
= 3.358961098305538E- 04
a0 = 1.864754537649403E- 01
a1 = - 4.631839872868015E - 02
a4
a5
a6
a7
= - 1.368895999268855E- 05
= 1.132254508386570E- 07
= 8.262829873458547E- 09
= - 2.741786330789355E- 10
m = 7: a4 = - 3.230489224228010E - 06
a8 = 3.317446724324134E - 12
a9 = - 1.459511835946927E- 14
S = 1.7528E - 11
a2 = 4.007658091692495E - 03
a3 = - 8.985715636865594E- 05
a5 = 1.912806006890119E - 07
a6 = - 3.252863805243949E- 09
a7 = 1.876184315740421E - 11
S = 3.1629E - 07
57
58
59
Interpolasi
Keterangan:
f(x)
p(x)
Sifat interpolasi:
p(xi ) = f(xi )
untuk semua xi .
60
Interpolasi Lagrange
Digunakan p(x), suatu polinomial berorde m = N 1, dengan N = jumlah data:
p(xi ) = f(xi )
(i = 1, ..., N)
N = 2:
x2f(x1 ) x1f(x2 )
x1 x2
a1 =
f(x1 ) f(x2 )
x1 x2
x x2
x x1
f(x1 ) +
f(x2 )
p(x) =
x1 x2
x2 x1
p(x1 ) = a0 + a1x1 + a2x12 = f(x1 )
N = 3:
x x1 x x2
x x2 x x3
x x1 x x3
f(x1 ) +
f(x2 ) +
f(x3 )
p(x) =
x1 x2 x1 x3
x2 x1 x2 x3
x3 x1 x3 x2
61
62
x xj
l(x, xi ) =
ji xi xj
Untuk x = xk (k = 1, , N):
xi xj
= 1, (i = k)
xk xj ji xi xj
=
l(xk , xi ) =
ji xi xj
... xk xk ... = 0, (i k)
x x
j
i
l(xk , xi ) = ik
p(xk ) = f(xk )
63
x x2 x x3 x x4
l(x, x1 ) =
x1 x2 x1 x3 x1 x4
x x1 x x3 x x4
l(x, x2 ) =
x2 x1 x2 x3 x2 x4
x x1 x x2 x x4
l(x, x3 ) =
x3 x1 x3 x2 x3 x4
x x1 x x2 x x3
l(x, x4 ) =
x4 x1 x4 x2 x4 x3
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).
64
(xi x xi+1 ;
(j = 0,1, 2, 3)
x xk
l(x, xj ) =
k j xj xk
65
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
I
xi+5
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.
66
67
Diperoleh aj (j = 0, 1, 2, 3) sebagai berikut:
a0
a1
a2
a3
3
(x
x
)
2
1
x f'(x2 ) + x2f'(x1 )
x2x1 1
2
(x2 x1 )
f(x2 ) f(x1 )
6x2x1
3
(x2 x1 )
x1 (2x2 + x1 )f'(x2 ) + x2 (x2 + 2x1 )f'(x1 )
+
2
(x2 x1 )
f(x2 ) f(x1 )
3(x2 + x1 )
3
(x2 x1 )
(x + 2x1 )f'(x2 ) + (2x2 + x1 )f'(x1 )
2
2
(x2 x1 )
2
3
2
(x2 x1 ) (x2 x1 )
68
j=1
(x x1 ) x x2
h1 (x, x1 ) = 1 2
(x1 x2 ) x1 x2
(x x2 ) x x1
h1 (x, x2 ) = 1 2
(x2 x1 ) x2 x1
x x2
h2 (x, x1 ) = (x x1 )
x
x
2
1
x x1
h2 (x, x2 ) = (x x2 )
x2 x1
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.
69
dengan:
k j xj xk
1
l'(xj ) =
k j (xj xk )
70
g(x) = ax 2 + bx + c
g(xi-1 ) = f(xi-1 )
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.
71
Dari sistem persamaan linear:
a=
f(xi1 )
f(xi )
f(xi+1 )
+
+
(xi1 xi )(xi1 xi+1 ) (xi xi1 )(xi xi+1 ) (xi+1 xi1 )(xi+1 xi )
b=
(xi1 xi )(xi1 xi+1 ) (xi xi1 )(xi xi+1 ) (xi+1 xi1 )(xi+1 xi )
sehingga:
xi xi+1 f(xi1 ) 1
xi xi-1 f(xi+1 )
1
f'(xi )
+
+
f(xi ) +
72
Jika diaplikasikan pada interpolasi Hermite kubik:
2
j=1
j= 0
x x2
1
h(x, x0 ) = h2 (x, x1 ) 1
x0 x2 (x0 x1 )
1
x x3
1
1
+ h2 (x, x2 ) 2
73
p(x) = di + ci (x xi ) + bi (x xi )2 + ai (x xi )3 f(x)
Turunan pertama dan kedua p(x) yaitu:
pi p(xi ) = di = f(xi )
p''i+1 p''(xi+1 ) = 2bi + 6aihi pi+1 p(xi+1 ) = di + cihi + bihi2 + aihi3 = f(xi+1 ) hi xi+1 xi
74
Jadi,
di = pi
bi =
p''i
2
ai =
p''i+1 p''i
6hi
ci =
hi
6
sehingga diperoleh:
p'' p''i
p p h p''
h p''
p''
(x xi )3
p(x) = pi + i+1 i i i+1 i i (x xi ) + i (x xi )2 + i+1
2
6
3
6hi
hi
p'(x) =
p'' p''i
pi+1 pi hip''i+1 hip''i
(x xi )2
+ p''i (x xi ) + i+1
hi
6
3
2hi
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 :
p'(x) =
p'' p''i-1
pi pi-1 hi-1p''i hi-1p''i-1
(x xi-1 )2
+ p''i-1 (x xi-1 ) + i
hi-1
6
3
2hi-1
75
p p p p
hi-1p''i-1 +2(hi-1 + hi )p''i +hip''i+1 = 6 i+1 i i i-1
hi-1
hi
(i = 2, ..., N - 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:
(i = 1)
(i = N)
p p
p p
hN-1p''N-1 +2hN-1p''N = 6 p'N N N-1
hN-1
??
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 .
76
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.
i=1
j=1
77
i= 0
j= 0
l(x, xi ) =
k i xi xk
y ys
l(y, yj ) =
s j yj ys
78
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]
10
15
20
25
30
35
40
45
50
55
0.01794775
0.03808997
0.05516225
0.05598281
0.04795629
0.04807485
0.06273566
0.07853982
0.07395442
0.04201338
79
80
81
Integrasi
Menghitung luas daerah di bawah kurva:
f(x)
f(x)
analitik
numerik
w f(x )
f(x) dx
b
b
i=1
I = f(x) dx wif(xi )
82
Meski tidak terlihat pada rumus akhir, pada integrasi numerik integrand
f(x) diinterpolasi dengan suatu polinomial:
b
i=1
I = f(x) dx wif(xi )
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):
83
Quadrature Trapezoid
Kurva integrand f(x) diinterpolasi dengan sebuah garis lurus (f(x) diinterpolasi
dengan fungsi linier / polinomial orde 1):
b
p(x) = r + sx
i=1
f(x)
Untuk menarik garis lurus
diperlukan minimal 2 titik,
dipilih titik f(a) dan f(b):
p(x)
p(x) dx
a
84
Dengan diketahui hanya p(a) dan p(b) (r dan s tidak dicari), maka integrasi
numerik dikerjakan untuk N = 2:
b
i=1
Mencari w1 dan w2 :
p(x) = r + sx
w1 , w2 = ?
1
r(b - a) + s(b 2 a2 ) = r(w1 + w2 ) + s(aw1 + bw2 )
2
w1 + w2 = b - a
1
aw1 + bw2 = (b2 a2 )
2
b
I = f(x) dx
a
h
(f(a) + f(b))
2
w1 = w2 =
1
(b a)
2
(h = b a)
85
p(x) = r + sx + tx 2
i=1
f(x)
Untuk membuat kurva
kuadratik diperlukan
minimal 3 titik, dipilih titik
f(a), f(b) dan f(c):
p(x)
p(x) dx
p(c) = f(c)
dengan
b=
a+c
2
86
Integrasi numerik dikerjakan untuk N = 3:
c
w1 , w2 , w3 = ?
i=1
Mencari w1 , w2 , w3:
p(x) = r + sx + tx 2
c
2
2
2
(r
+
sx
+
tx
)
dx
=
w
(r
+
sa
+
ta
)
+
w
(r
+
sb
+
tb
)
1
2
1
1
r(c - a) + s(c 2 a2 ) + t(c3 a3 ) =
2
3
w1 + w2 + w3 = c - a
1
aw1 + bw2 + cw3 = (c2 a2 )
2
1
a2w1 + b2w2 + c2w3 = (c3 a3 )
3
+ w3 (r + sc + tc 2 )
r(w1 + w2 + w3 ) + s(aw1 + bw2 + cw3 )
+ t(a 2w1 + b2w2 + c2w3 )
w1 = w3 =
w2 =
1
(c a)
6
2
(c a)
3
87
Diperoleh Rumus quadrature Simpson:
I = f(x) dx
a
dengan h =
h
(f(a) + 4f(b) + f(c) )
3
Dengan cara yang sama, menggunakan p(x) polinomial orde 3 diperoleh rumus
quadrature Simpson 3 8 :
d
I = f(x) dx
a
3h
(f(a) + 3f(b) + 3f(c) + f(d) )
8
d-a
= b a = c b = d c
h =
3
2h
(7f(a) + 32f(b) + 12f(c) + 32f(d) + 7f(e) )
I = f(x) dx
45
a
e-a
=
h
= b a
= c b
= dc
= e d
88
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.
89
Contoh, daerah integrasi [a,b] dibagi dalam N bagian sama panjang.
b
a +d
a +2d
b-d
a +d
b-2d
b-d
I = f(x) dx =
f(x) dx +
f(x) dx + ... +
f(x) dx + f(x) dx
ba
d
=
h=
ba
, fi = f(a + ih), i = 0, ..., N
N
I = f(x) dx
a
2h 1
[2 (f0 + f2N ) + 2(f1 + f3 + ... + f2N1 ) + f2 + f4 + ... + f2N2 ]
3
ba
h=
, fi = f(a + ih), i = 0, ..., 2N
2N
90
Integrasi komposit trapezoid untuk daerah integrasi [a,b] yang dibagi 8
sama panjang:
b
f(x)
91
Integrasi komposit yang menggunakan quadrature trapezoid dan Simpson;
daerah integrasi [a,b] yang dibagi 3:
b
I = f(x) dx
a
h1
(fa + 2fa+h1 + fc ) + h2 (fc + 4fc+h2 + fb )
2
3
f(x)
Simpson
trapezoid
c
h1
h1
2h2
92
Quadrature Gaussian
Quadrature Gaussian memanfaatkan polinomial yang memiliki sifat orthogonal
dan ternormalisasi sebagai berikut:
b
On (x) = bixi
i= 0
Contoh:
1
2n +1
2 n
On =
P , Pn = polinomial Legendre
O (x)O
n
(x) dx = nm
-1
On = Ln , Ln =
1
n!
polinomial Laguerre
-x
e
On (x)Om (x) dx = nm
0
v(x)f(x)dx = w f(x )
i
i=1
wi , xi = ?
93
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
f(x) p(x) =
ax
i
N -1
= r(x) + s(x)
dengan
i= 0
i= 0
2N-1
ax
i
i =N
s(x) bisa ditulis sebagai s(x) = q(x)ON (x) dengan q(x) polinomial orde N-1:
N -1
N -1
i= 0
b
Maka:
Secara numerik:
i= 0
b
N-1
i= 0
N-1
(x)dx = ciiN = 0
i= 0
a
N
i=1
(xi ) = 0
i=1
94
Mencari wi :
Untuk integrand f(x) dan s(x), yang merupakan polinomial orde 2N-1 berlaku
integrasi numerik:
b
v(x)f(x)dx = w f(x )
v(x)s(x)dx = w s(x )
i=1
i=1
Integrasi numerik yang sama tentu berlaku juga untuk integrand polinomial orde
lebih rendah, contohnya r(x), yang berorde N-1:
b
i=1
v(x)r(x)dx = wir(xi ),
N-1
r(x) = aixi
i= 0
Dari penurunan rumus quadrature trapezoid, Simpson dll sebelum ini diketahui
bahwa untuk mencari wi bisa digunakan r(x) sembarang polinomial orde N-1
(koefisien ai tidak diperlukan). Karena itu, dipilih r(x) yang memudahkan:
x xj
, (i, j = 1, ..., N)
r(x) = l(x, xi ) =
ji xi xj
b
i=1
l(xk , xi ) = ik
b
95
Pada integrasi numerik Gaussian, diperlukan N buah titik evaluasi xi untuk
integrand f(x) p(x) polinomial orde 2N-1.
Pada integrasi numerik seperti quadrature trapezoid dan Simpson, diperlukan
2N buah titik xi untuk integrand f(x) p(x) polinomial orde 2N-1:
trapezoid : 2N = 2
Simpson
: 2N = 3
Simpson 3 8 : 2N = 4
Boole
: 2N = 5
dst
Secara umum, dengan begitu, quadrature Gaussian memerlukan titik evaluasi
lebih sedikit (separuh) dari yang diperlukan integrasi numerik yang mengikuti
cara seperti quadrature trapezoid dan Simpson.
Bergantung pada keperluan, integrasi komposit juga bisa diterapkan
menggunakan quadrature Gaussian atau campuran quadrature Gaussian dan
yang lain.
96
Quadrature Gauss-Legendre
Quadrature Gauss-Legendre menggunakan polinomial Legendre Pn :
1
On =
2n +1
2 n
P:
O (x)O
n
(x) dx = nm
-1
-1
i=1
=1
f(x)dx = w f(x )
i
Contoh:
2
f(x)dx
=
w
f(x
)
f(y)dy
=
i
i
-1
ba a
i=1
y a x ( 1) x + 1
=
=
b a 1 ( 1)
2
(transformasi linier)
f(y)dy = u f(y )
i
i=1
1
2
yi = (xi + 1)(b a) + a
ba
ui =
wi
2
97
Contoh xi dan wi quadrature Gauss-Legendre untuk beberapa N terkecil:
1
-1
i=1
f(x)dx = w f(x )
i
0.577350269189626
1.000000000000000
0.774596669241483
0.555555555555556
0.000000000000000
0.888888888888889
0.861136311594053
0.347854845137454
0.339981043584856
0.652145154862546
0.906179845938664
0.236926885056189
0.538469310105683
0.478628670499367
0.000000000000000
0.568888888888889
98
Distribusi xi pada quadrature Gauss-Legendre tidak merata seperti
distribusi pada quadrature trapezoid dan Simpson. Makin dekat ke batas-batas
integral distribusi makin rapat. Distribusi itu simetris terhadap garis x = 0.
Ilustrasi untuk N = 11:
x = -1
x=0
x=1
99
Quadrature Gauss-Laguerre
Quadrature Gauss-Laguerre menggunakan polinomial Laguerre Ln :
On = n!1 Ln :
-x
On (x)Om (x) dx = nm
e
0
-x
f(x)dx = wif(xi )
i=1
0.585786437626905
0.853553390593274
3.414213562373095
0.146446609406726
0.322547689619392
0.603154104341634
1.745761101158347
0.357418692437800
4.536620296921128
0.038887908515005
9.395070912301133
0.000539294705561
100
Lain-Lain
Mengganti Variabel Integrasi
Pada topik quadrature Gauss-Legendre terdapat contoh penggantian variabel
integrasi. Penggantian variabel integrasi bisa juga diperlukan pada kasus lain.
Tujuannya, agar evaluasi integral menjadi lebih mudah dan hasilnya baik.
Contoh:
dx
I=
2
1
+
x
0
transformasi:
x=
1+ y
2
, dx =
dy
1 y
(1 y)2
1
I=
-1
2dy
(1 y)2 1 +
1
( ))
1+ y 2
1 y
dy
(1 y)2 + (1 + y)2
-1
= 2
quadrature
Gauss-Legendre
101
Contoh:
2N
dx
wi
I=
=
2
2
1
+
x
i=1 1 + xi
-a
a
2N
dx
wi
= 2
=
2
2
2
1
+
x
i
N +1 1 + xi
=
0
1
2N
dy
wi
I=
=
2
2
2
2
(1
y)
+
(1
+
y)
i=1 (1 yi ) + (1 + yi )
-1
1
2N
dy
wi
= 2
=
2
2
2
2
2
(1
y)
+
(1
+
y)
=
i
N +1 (1 yi ) + (1 + yi )
0
102
Beberapa fungsi memiliki simetri, contoh fungsi trigonometri:
sin( x) = sin(x)
sin( x) = m sin(x)
cos( x) = cos(x)
cos( x) = cos(x)
I=
im(x a)
[
]
f(sin(x
a))
+
f(cos(x
a))
e
dx
[f(sin(x)) + f(cos(x)) ]e
imx
dx
= {f(sin(x)) + f(cos(x)) }e
imx
im(x + )
]dx
[f(sin(x)) (e
imx
telah
dipakai
x = x'+
x = x'
)]
103
Menangani Singularitas
Contoh:
dx
0 (1 + x) x
I=
a
singular pada x = 0
a
dx
dx
dx
=
+
x 0 x
0 (1 + x) x
0
ditambah nol
1
1
dx
dx +
=
x
x
0 (1 + x) x
0
subtraksi pada
integral asal
x
dx + 2 a
1
+
x
0
104
x2f(x)dx
I= 2
(b x2 )
0
singular pada x = b
(0 < b2 a2 )
x2f(x)dx
b2f(b)dx
= 2
2
2
2
(b
x
)
(b
x
)
0
0
a
(x f(x) b f(b))dx
2
(b2 x2 )
0
a
b2f(b)dx
a (b2 x2 )
subtraksi pada
integral asal
(b2 x2 )
(*)
a +b
dx
1 1
1
1
dx
1 dx
=
+
dx
=
=
0 (b2 x2 ) 2b 0 b x b + x 2b b + x 2b x = 0
105
Quadrature Filon
Bisa saja ditemui integrand f(x) yang sangat berosilasi; dalam jarak yang
pendek f(x) berubah-ubah naik turun. Dengan macam-macam quadrature yang
sudah disampaikan, integrasi menjadi sulit karena dibutuhkan banyak sekali
titik evaluasi. Integral seperti ini dapat dihitung dengan menggunakan rumus
quadrature Filon (M. Abramowitz & I. A. Stegun, Handbook of Mathematical
Function, Dover Publications, Inc., NY, 1972).
f(x)
106
2n
ba
= xi+1 xi
2n
x0 = a
h=
fj = f(xj )
i=1
b
2n
Sganjil = f2i1sin(tx2i1 )
i=1
1 sin(2x) 2sin2x
(x) = +
x3
x
2x2
1 + cos 2x sin(2x)
(x) = 2
2
3
x
x
sinx cosx
(x) = 4 3 2
x
x
untuk nilai
x kecil:
+
...
(x) =
45 315 4725
2 2x2 4x 4 2x6
(x) = +
+
...
3 15 105 567
4 2x2 x 4
x6
(x) =
+
+ ...
3 15 210 11340
107
1 n
< f(x) >= f(xi )
n i=1
xi = bilangan acak : a xi b
<f(x)>
b
1 n
I = f(x)dx (b - a) f(xi )
n i=1
a
(b-a)<f(x)>
x
a
108
109
Persamaan Differensial
Persamaan differensial (PD) yang dibahas meliputi persamaan differensial
biasa dan persamaan differensial parsial.
Beberapa persamaan differensial merupakan juga persamaan eigenvalue,
contoh persamaan untuk senar gitar (gelombang berdiri). Karena itu, akan
dibahas juga persamaan eigenvalue.
110
y'=
Diketahui:
y(x0 ) = y0
y
Integrasi:
y(x) = ?
Masalah persamaan
differensial
berubah menjadi
masalah persamaan
integral.
dy = f(x, y)dx
y0
x0
x0 +h
y(x0 + h) = y0 +
f(x, y)dx
x0
111
112
Metode Euler
Menurut metode Euler:
f(x,y)
f(x0 , y0 )
f(x,y) dianggap
konstan dan
dihitung pada x = x0.
x0 x0 + h
Diperoleh:
y(x0 + h)
y(x)
yg diperoleh
x0 +h
y(x0 + h) y0 + f(x0 , y0 )
dx
x0
y0 + hf(x 0 , y0 )
y(x0 + h)
y0
sebenarnya
x
x0 x0 + h
113
1
2
x0 x0 + h
x0 + 21 h
y(x0 + h) y0 + hf(x 0 , y0 )
1
2
1
2
y(x0 + h)
y(x)
yg diperoleh
Diperoleh:
y(x0 + h)
y0
x
x0 x0 + h
x0 + 21 h
sebenarnya
114
f(x,y)
1
f(x,
y)dx
x0
y(x0 + h) y0 + hf(x 0 , y0 )
Diperoleh:
x0 x0 + h
115
Metode Runge-Kutta
Metode Euler dan variasinya sebelum ini sebetulnya termasuk metode RungeKutta, yang menyatakan solusi PD y(x) dalam turunannya f(x,y), yang dihitung
untuk argumen x,y yang bervariasi. Sebuah metode Runge-Kutta disebut
berorde n jika memiliki suku koreksi O(hn+1 ) (diperoleh dari ekspansi Taylor):
2
: y(x0 + h) = y0 + hf(x 0 , y0 ) + O(h )
116
Untuk mendapatkan rumus metode Runge-Kutta orde 4, orang bisa memulai
dengan mengevaluasi integral f(x,y) memakai quadrature Simpson:
x0 +h
x0
f0 = f(x0 , y0 )
f1 dan f2 memiliki nilai berbeda, karena dihitung untuk nilai argumen y(x0 + 21 h)
yang berbeda: menurut metode Euler, y(x0 + 21 h) dapat diperoleh melalui 2
persamaan:
f2 = f(x0 + 21 h, y0 + 21 hf1 )
117
Untuk f3 , digunakan metode Euler yang dimodifikasi untuk mencari y(x0 + h) :
f3 = f(x0 + h, y0 + hf2 )
f0 = f(x0 , y0 )
f2 = f(x0 + 21 h, y0 + 21 hf1 )
f1 = f(x0 + 21 h, y0 + 21 hf0 )
f3 = f(x0 + h, y0 + hf2 )
118
Berangkat dengan quadrature Simpson, orang juga bisa memperoleh rumus
metode Runge-Kutta orde 3:
x0 +h
x0
dengan:
f0 = f(x0 , y0 )
y(x0 + 21 h) dicari dengan metode Euler dan y(x0 + h) dengan metode Euler
yang dimodifikasi:
y(x0 + 21 h) y0 + 21 hf0
y(x0 + h) y0 + hf1
f1 = f(x0 + 21 h, y0 + 21 hf0 )
f2 = f(x0 + h, y0 + hf1 )
119
PD Orde 2
d2 y
y''= 2 = f(x, y, y')
dx
Diketahui:
u = y'
u0 = y'0
Masalah PD orde 2
berubah menjadi
masalah PD orde 1.
y(x) = ?
y'= u(x, y)
u'= f(x, y, u)
120
Contoh penyelesaian dengan metode Euler yang lebih baik (improved):
u' = f(x, y, u)
y'= u(x, y)
u(x0 + h) = u0 + 21 h(f0 + f1 )
y(x0 + h) = y0 + 21 h(u0 + u1 )
f0 = f(x0 , y0 , u0 )
u0 = y'0
f1 = f(x0 + h, y0 + hu 0 , u1 )
u1 = u0 + hf0
Alur perhitungan:
y0 , u0
f0
u1
x0 + h x0 , u(x0 + h) u0 , y(x0 + h) y0
121
Contoh penyelesaian dengan metode Runge-Kutta orde 4:
u' = f(x, y, u)
y'= u(x, y)
f0 = f(x0 , y0 , u0 )
f1 = f(x0 + 21 h, y0 + 21 hu 0 , u1 )
u0 = y'0
u1 = u0 + 21 hf0
f2 = f(x0 + 21 h, y0 + 21 hu1 , u2 )
f3 = f(x0 + h, y0 + hu2 , u3 )
u2 = u0 + 21 hf1
u3 = u0 + hf2
Alur perhitungan:
y0 , u0
f0
u1
f1
u2
f2
u3
x0 + h x0 , u(x0 + h) u0 , y(x0 + h) y0
122
terikat
terikat
Diketahui:
x0 x xn
y(x0 ) = y0
y(x) = ?
y(xn ) = yn
Dicari yi = y(xi ) pada titik xi = x0 + ih (i = 1, ..., n 1) dengan h =
xn x0
.
n
yi+1 yi1
2h
y 2yi + yi1
y''i i+1
h2
y'i
cih
cih
2
1
b
h
y
+
i1
1 +
yi+1 aih2
i
i
2
2
123
124
PD orde 2:
cih
ch
1
yi1 2 bih2 yi + 1 + i yi+1 aih2
2
2
Iterasi Jacobi:
yi(k)
1
2 bih2
ch
ch
aih2 + 1 i yi(k-1-1) + 1 + i yi(k+1-1)
2
2
yi(k)
1
2 bih2
ch
cih (k -1)
aih2 + 1 i yi(k)
+
1 +
yi+1
-1
2
2
y0(k) = y0
yn(k) = yn
125
126
r
r
(r ) = 4 (r )
2
2
2 + 2 (x, y) = 4 (x, y)
y
x
=
2
2
h
h
x2
x ,y
i
=
2
2
2
y
h
h
x ,y
i
(h = xi+1 xi = yj+1 yj )
Diperoleh:
Dicari
distribusi
spasial .
i,j+1
127
Langkah:
1. Buat grid pada bidang xy, dengan jarak
terdekat antar titik h.
i,j
i-1,j
i,j-1
i+1,j
h
h
0,0
i,j
(iterasi sebelum)
i,j
(iterasi berikutnya )
128
r
2 1 r
(r , t) = 4 (r , t)
t
2 1
2
(x, t) = 4 (x, t)
x t
=
2
2
x2
h
h
x
x
x ,t
i
(x, t)
=
t
ht
ht
xi ,tj
(hx = xi+1 xi , ht = tj+1 tj )
ht
i+1,j 2i,j + i-1,j
hx2
Untuk tiap
posisi dicari
perubahan
terhadap
waktu.
i,j+1
i-1,j
i,j
129
Langkah:
1. Buat grid pada bidang xt, dengan lebar hx
untuk arah x dan ht untuk arah t.
i+1,j
ht
i+1,j 2i,j + i-1,j
2
hx
ht
hx
0,0
130
r
2 1 2 r
2 2 (r ) = 4 (r )
c t
2
1 2
2 2 2 (x, t) = 4 (x, t)
x c t
=
2
2
2
x
h
h
x
x
x ,t
i
=
2
2
t2
h
h
t
t
Untuk tiap
xi , tj
posisi dicari
(hx = xi+1 xi , ht = tj+1 tj )
perubahan
terhadap
2 2
c ht
waktu.
2 2
=
4c
h
+
2
2
+
Diperoleh: i,j+1
t
i,j
i,j
i,j-1
i
+
1,
j
i,
j
i
1,
j
hx2
131
Untuk j = 0 diperoleh i,1 sebagai berikut:
2 2
t
c2ht2
+ 2 (i+1,0 2i,0 + i-1,0 )
hx
?
Anggap
(x, t)
= bi
t
xi , t0
=
Maka gunakan:
, shg: i,-1 = i,1 2biht
t
2h
2h
xi ,t0
t
t
Dengan demikian:
untuk j = 0:
c2ht2
(i+1,0 2i,0 + i-1,0 )
i,1 = 2c h i,0 + biht + i,0 +
2hx2
2 2
t
c2ht2
= 4c h i,j + 2i,j i,j-1 + 2 i+1,j 2i,j + i-1,j
hx
2 2
t
132
i,1
Langkah:
1. Buat grid pada bidang xt, dengan lebar hx
untuk arah x dan ht untuk arah t.
i-1,0 i,0
i+1,0
i,j+1
i-1,j
t
i,j
c2ht2
(i+1,0 2i,0 + i-1,0 )
i,1 = 2c h i,0 + biht + i,0 +
2
2hx
2 2
t
i+1,j
i,j-1
i,j+1
c2ht2
= 4c h i,j + 2i,j i,j-1 + 2 i+1,j 2i,j + i-1,j
hx
2 2
t
ht
0,0
hx
133
Persamaan Eigenvalue
Contoh, lagi, gelombang pada tali yang kedua ujungnya diikat. Pada suatu waktu
simpangan di sepanjang tali y(x) memenuhi PD orde 2:
d2
f(x) 2 y(x) = ky(x)
dx
dengan k berhubungan dengan frekwensi, yang nilainya tidak sembarang, yang
menunjukkan modus gelombang. Untuk tiap-tiap modus/frekwensi/k yang
mungkin, berlaku simpangan y(x) tertentu. Dengan kata lain, k merupakan
eigenvalue untuk eigenfunction y(x). Persamaan di atas disebut persamaan
eigenvalue.
f
Dengan metode Finite Differences, PD di atas menjadi: i2 (yi+1 2yi + yi1 ) = kyi
h
yang membentuk persamaan matriks:
O O
O O
fi
2
h
O
2fi
h2
O
M
M
yi1
yi1
fi
yi = k yi
2
h
yi+1
O O yi+1
M
M
O O
k=?
y=?
134
A ui = i ui ,
komplit: x = ciui
T
i j
orthogonal: u u = ij
i=11
Ax= y
yx
y
y
(1)
(m)
i=1
i=1
i=1
=A x =A
cu = cA u = c
i i
i=1
i=1
i=1
m
i i i
135
ik
<1
k
(m)
im
= A x = c u + c u = ckuk + ci m ui ck kmuk
k
i k
i k
m
k k k
m
i i i
m
k
x y
(m)
m
k k
=x A xc
cu u
T
i i k
m
k k
i=1
i ik
xT y (m)
k = T (m- 1)
x y
2 m
k k
i=1
(m)
=y
(m)T
(m)
) u u (c )
m 2 T
k k
k k
m 2
k k
uk
y (m)
y (m)
Jika k(m) merupakan nilai k yang diperoleh setelah iterasi sebanyak m kali,
maka iterasi dihentikan setelah dicapai nilai yang konvergen:
k(m- 1)
1 (m) < ,
k
= bilangan kecil
136
Untuk mencari eigenvalue terbesar kedua, hilangkan uk dari perhitungan.
Jadi, dipakai vector awal baru x:
n
i=1
i=1
i k
A x' = y'
(di ci (i k ))
i k
y' x'
i k
ik l
<1
l
y'(m) dllmul
x'T y'(m)
l = T (m- 1)
x' y'
ul
y'(m)
y'(m)
137
A-1A ui = i A-1ui
A ui = i ui
A-1ui = i-1ui
A-1 x = y
yx
(m)
= (A ) x = ci (i-1 ) m ui
-1 m
i=1
y (m) cs (s-1 ) m us
xT y (m- 1)
s = T (m)
x y
dan us :
us
y (m)
y (m)