9.6. PDP PARABOLIK
163
Hasilnya menunjukkan bahwa kinerja metode backward-difference lebih baik dibanding metode forward-difference, ini ditunjukkan dari selisih yang relatif kecil antara solusi numerik dan solusi
analitik, sebagaimana bisa terlihat dari kolom ke-4 pada tabel berikut
Tabel 9.5:
Hasil simulasi distribusi panas bergantung waktu dalam 1-dimensi dengan metode backward- difference dimana k = 0, 01
x
i
ux
i
, 0.5 w
i,50
|ux
i
, 0.5 − w
i,50
| 0,0
0,1 0,00222241
0,00289802 6, 756 × 10
− 4
0,2 0,00422728
0,00551236 1, 285 × 10
− 3
0,3 0,00581836
0,00758711 1, 769 × 10
− 3
0,4 0,00683989
0,00891918 2, 079 × 10
− 3
0,5 0,00719188
0,00937818 2, 186 × 10
− 3
0,6 0,00683989
0,00891918 2, 079 × 10
− 3
0,7 0,00581836
0,00758711 1, 769 × 10
− 3
0,8 0,00422728
0,00551236 1, 285 × 10
− 3
0,9 0,00222241
0,00289802 6, 756 × 10
− 4
1,0
9.6.4 Metode Crank-Nicolson
Metode ini dimunculkan disini karena metode ini memiliki performa yang lebih unggul dari dua metode sebelumnya. Namun begitu pondasi metode Crank-Nicolson terdiri atas metode
Forward-Difference dan metode Backward-Difference. Mari kita ulang lagi pelajaran yang sudah kita lewati. Formula Forward-Difference adalah
w
i,j+1
− w
i,j
k − α
2
w
i+1,j
− 2w
i,j
+ w
i−1,j
h
2
= 0 sedangkan Backward-Difference adalah
w
i,j
− w
i,j−1
k − α
2
w
i+1,j
− 2w
i,j
+ w
i−1,j
h
2
= 0 Ketika Backward-Difference berada pada iterasi ke j + 1, maka
w
i,j+1
− w
i,j
k − α
2
w
i+1,j+1
− 2w
i,j+1
+ w
i−1,j+1
h
2
= 0 9.58
Jika formula ini dijumlahkan dengan formula forward-difference, kemudian hasilnya dibagi 2, maka akan diperoleh
w
i,j+1
− w
i,j
k −
α
2
2 w
i+1,j
− 2w
i,j
+ w
i−1,j
h
2
+ w
i+1,j+1
− 2w
i,j+1
+ w
i−1,j+1
h
2
= 0 9.59
164
BAB 9. DIFERENSIAL NUMERIK
inilah formula Crank-Nicolson. Adapun λ tetap dinyatakan sebagai λ =
α
2
k h
2
maka w
i,j+1
− w
i,j
− λ
2 [w
i+1,j
− 2w
i,j
+ w
i−1,j
+ w
i+1,j+1
− 2w
i,j+1
+ w
i−1,j+1
] = 0 w
i,j+1
− w
i,j
− λ
2 w
i+1,j
+ λw
i,j
− λ
2 w
i−1,j
− λ
2 w
i+1,j+1
+ λw
i,j+1
− λ
2 w
i−1,j+1
= 0 −
λ 2
w
i−1,j+1
+ w
i,j+1
+ λw
i,j+1
− λ
2 w
i+1,j+1
− λ
2 w
i−1,j
− w
i,j
+ λw
i,j
− λ
2 w
i+1,j
= 0 −
λ 2
w
i−1,j+1
+ w
i,j+1
+ λw
i,j+1
− λ
2 w
i+1,j+1
= λ
2 w
i−1,j
+ w
i,j
− λw
i,j
+ λ
2 w
i+1,j
dan akhirnya −
λ 2
w
i−1,j+1
+ 1 + λw
i,j+1
− λ
2 w
i+1,j+1
= λ
2 w
i−1,j
+ 1 − λw
i,j
+ λ
2 w
i+1,j
9.60 Dalam bentuk persamaan matrik dinyatakan sebagai
Aw
j+1
= Bw
j
, untuk j = 0, 1, 2, ...
9.61 Dengan menggunakan contoh soal yang sama, yang sebelumnya telah diselesaikan dengan
metode Forward-Difference dan Backward-Difference, maka penyelesaian soal tersebut dengan metode Crank-Nicolson juga akan didemonstrasikan di sini. Dengan nilai k = 0, 01; h = 0, 1;
λ = 1 dan berdasarkan persamaan 9.60 diperoleh
−0, 5w
i−1,j+1
+ 2w
i,j+1
− 0, 5w
i+1,j+1
= 0, 5w
i−1,j
+ 0w
i,j
+ 0, 5w
i+1,j
Script Matlab untuk menyelesaikan persamaan ini adalah
1
clear all
2
clc
3 4
n=9;
5
iterasi=50;
6
alpha=1.0;
7
k=0.01;
8
h=0.1;
9
lambda=alpha2kh2;
10 11
Kondisi awal
12
for i=1:n
13
suhui=sinpii0.1;
14
end
15 16
Mengcopy kondisi awal ke w
17
for i=1:n
18
w0i,1=suhui;
9.6. PDP PARABOLIK
165
19
end
20 21
AA=[1+lambda -lambda2 0 0 0 0 0 0 0;
22
-lambda2 1+lambda -lambda2 0 0 0 0 0 0;
23
0 -lambda2 1+lambda -lambda2 0 0 0 0 0;
24
0 0 -lambda2 1+lambda -lambda2 0 0 0 0;
25
0 0 0 -lambda2 1+lambda -lambda2 0 0 0;
26
0 0 0 0 -lambda2 1+lambda -lambda2 0 0;
27
0 0 0 0 0 -lambda2 1+lambda -lambda2 0;
28
0 0 0 0 0 0 -lambda2 1+lambda -lambda2;
29
0 0 0 0 0 0 0 -lambda2 1+lambda];
30 31
B=[1-lambda lambda2 0 0 0 0 0 0 0;
32
lambda2 1-lambda lambda2 0 0 0 0 0 0;
33
0 lambda2 1-lambda lambda2 0 0 0 0 0;
34
0 0 lambda2 1-lambda lambda2 0 0 0 0;
35
0 0 0 lambda2 1-lambda lambda2 0 0 0;
36
0 0 0 0 lambda2 1-lambda lambda2 0 0;
37
0 0 0 0 0 lambda2 1-lambda lambda2 0;
38
0 0 0 0 0 0 lambda2 1-lambda lambda2;
39
0 0 0 0 0 0 0 lambda2 1-lambda];
40 41
iterasi=50;
42
for iter=1:iterasi
43 44
===perkalian matriks===================
45
for i=1:n
46
bi,1=0.0;
47
end
48
for i=1:n
49
for j=1:n
50
bi,1=bi,1+Bi,jw0j,1;
51
end
52
end
53
======================================
54 55
Proses Eliminasi Gauss
56
A=AA; Matriks Backward Difference dicopy supaya fix
57 58
for i=1:n
59
Ai,n+1=bi,1;
60
end
61 62
---------Proses Triangularisasi-----------
63
for j=1:n-1
64 65
----mulai proses pivot---
66
if Aj,j==0
67
for p=1:n+1
68
u=Aj,p;
69
v=Aj+1,p;
70
Aj+1,p=u;
71
Aj,p=v;
72
end
73
end
74
----akhir proses pivot---
75
jj=j+1;
76
for i=jj:n
77
m=Ai,jAj,j;