Академический Документы
Профессиональный Документы
Культура Документы
dimana
]
dengan m adalah jumlah parameter model dan n adalah jumlah data. Karena sering
ditemui n m+1, matriks [Z] juga ditemukan tidak selalu berupa matriks bujur
sangkar. Vektor kolom [Y] berisi nilai dari hasil observasi, yaitu :
{}
]
Vektor kolom [A] merupakan koefisien parameter model
{}
]
dan vektor kolom [E] berisi selisih
{}
]
Selisih kuadrat dari model ini dapat dituliskan sebagai :
Kuantitas ini diminimumkan dengan mengambil turunan parsial terhadap setiap
parameter model dan membuat turunan parsial tersebut sama dengan nol. Hasil dari
proses tersebut adalah :
[[]
[]]{} {[]
{}}
Pencarian solusi matriks {A} dapat dilakukan dengan metode dekomposisi LU,
eliminasi Gauss, Eliminasi Gauss-Jordan, Gauss-Seidel maupun metode iteratif
Jacobi.
Langkah Praktikum 1
1. Tuliskan/ turunkan kembali perumusan metode Kuadrat terkecil linier orde 1
secara sistematis untuk kasus z
0
= 0 dan z
1
= x (biasa disebut dengan regresi
linier).
2. Lengkapi algoritma di bawah ini.
Algoritmanya :
(
)
(
Masukan : Jumlah data (N), x
i
,y
i
dengan i=1,2,...,N
Keluaran : A [a
1
a
2
]
T
Langkah :
jum_x = ...
jum_y = ...
jum_x2 = ...
jum_xy = ...
Untuk ii =1:N
jum_x = jum_x + x(...);
jum_y = jum_y + y(...);
jum_x2 = jum_x2 + x(...)
2
;
jum_xy = jum_xy + (x(...)*y(...));
3. Jika terdapat seperangkat data seperti berikut :
x y
1 0,5
2 2,5
3 2
4 4
5 3,5
6 6,5
7 5,5
Lengkapi kode program berikut berdasarkan algoritma yang telah dibuat
Langkah Praktikum 2
1. Diberikan seperangkat data sebagai berikut :
x y
1 0,5
2 1,7
3 3,4
4 5,7
5 8,4
tuliskan perumusan metode regresi linier kuadrat terkecil untuk fungsi :
clear all;clc;
x=[... ];
y=[...];
[m,N]=size (x);
jum_x = ...;
jum_y = ...;
jum_xy = ...;
jum_x2 =0;
for ii=1:N
jum_x = jum_x + x(...);
jum_ y = jum_y + y(...);
jum_xy = jum_xy + (x(...)*y(...));
jum_x2 = jum_x2 + (x(...)^2);
end
Z=[ ... ... ; ... ...];
Y=[... ;...];
A= inv(Z)*Y;
2. Modifikasi program aplikasi yang telah dibuat sebelumnya untuk menghitung a
0
dan a
1
sesuai permasalahan di atas.
3. Plot dan analisis model yang telah dibuat.
Modul II. Metode Regresi Non Linier
Tujuan Praktikum :
1. Mahasiswa dapat menuliskan kembali metode Regresi Non Linier.
2. Mahasiswa dapat membuat sebuah aplikasi komputer penggunaan metode
Regresi Non Linier.
3. Mahasiswa dapat merumuskan sebuah permasalahan fisis dan menyelesaikan
permasalahan tersebut dengan bantuan aplikasi yang telah dibuat.
Dasar Teori
Dalam beberapa kasus di pemodelan sains, terdapat beberapa permasalahan
untuk melakukan pencocokan kurva dengan model yang bersifat non linier, seperti
model cuaca, persamaan pemodelan kedepan Self Potential, peluruhan radioaktif
dan lain-lain.
Seperti halnya kuadrat terkecil, regresi non linier didasarkan pada penentuan
nilai parameter model yang meminimumkan jumlah dari kuadrat kesalahan. Namun,
tidak seperti halnya pada kasus linier, pada kasus non linier solusi diperoleh melalui
proses yang dilakukan secara iteratif.
Pada kasus non linier, secara umum hubungan antara data dengan
persamaan non linier yang dianggap dapat menghampiri data adalah :
dengan y
i
adalah data hasil pengukuran, f(x
i
) adalah fungsi non linier dari variabel
bebas dengan parameter model a
0
, a
1
, ..., a
m
, serta e
i
adalah kesalahan acak.
Metode Gauss Newton
Pada metode ini, fungsi nonlinier diekspansikan dalam deret Taylor. Bentuk
hampiran tersebut berbentuk fungsi linier.
dengan j adalah tebakan awal, j+1 adalah prediksi, a
0
= a
0,j+1
- a
0,j
dan a
1
=
a
1,j+1
- a
1,j
Dari proses ini terlihat hubungan yang linier antara model asal terhadap
parameter modelnya. Persamaan hampiran kemudian disubstitusikan ke
persamaan model menjadi:
atau dalam bentuk matriks :
{} [
]{} {}
dengan [Zj] adalah matrik turunan parsial fungsi non linier terhadap setiap
parameter model, atau biasa juga disebut sebagai matriks Jacobi,
[
]
[
dengan n adalah jumlah data dan
dan vektor {A} adalah vektor yang berisi perubahan nilai parameter model.
{}
[
Dengan menggunakan teorema kuadrat terkecil diperoleh
[[
]] {} {[
{}}
Solusi setiap langkahnya dapat diperoleh dengan menggunakan teknik
penyelesaian SPL pada umumnya. Hasil dari proses ini adalah lebar langkah dari
perubahan parameter model, yang kemudian dapat digunakan untuk melakukan
perbaikan hampiran parameter model yang diperoleh pada iterasi sebelumnya.
Langkah Praktikum
1. Tuliskan/turunkan kembali perumusan metode regresi non linier secara
sistematis untuk kasus
2. Lengkapi algoritma di bawah ini.
{} {}
[]
[
Masukan : x
i
, y
i
dengan i =1,2,3,..., jumlah data
yang menghubungkan dua titik data
dan
dimana (buktikan):
Polinom Interpolasi beda terbagi Newton
Bentuk polinom beda terbagi Newton adalah bentuk umum dari polinom-polinom
sebelumnya yang digunakan untuk mencocokkan kurva polinomial orde n pada data
sejumlah n+1. Polinom ini dituliskan sebagai :
dengan :
...
)
dimana
(
)
(
Tabel berikut menunjukkan perumusan polinomial Newton beda terbagi.
i X(i) F(xi) pertama kedua ketiga
0 X
0
F(x
0
) F(x
1
, x
0
) F(x
2,
x
1
,x
0
) F(x
3
,x
2,
x
1
,x
0
)
1 X
1
F(x
1
) F(x
2
, x
1
) F(x
3,
x
2
,x
1
)
2 X
2
F(x
2
) F(x
3
, x
2
)
3 X
3
F(x
3
)
Langkah Praktikum
1. Tuliskan/turunkan kembali perumusan metode interpolasi Newton untuk
menghitung nilai dari f(x) = ln(x) dari seperangkat data berikut secara sistematis.
x f(x)=ln(x)
1 0
4 1,3862944
6 1,7917595
5 1,6094379
3 1,0986123
1,5 0,4054641
2,5 0,9162907
3,5 1,2527630
2. Pelajari algoritma di bawah ini.
Algoritma Interpolasi Newton Beda Terbagi
Masukan : x,y (m,n ukuran x)
Keluaran : f(x
u
)
Langkah :
untuk i=1:n
untuk j=2:n
untuk i=1:(n+1-j)
untuk i=2:n
b_kw(i)=1;
untuk j=1:(i-1)
b_kw(i) = b_kw(i)*(x_u-x(j))
suku(i)=R(1,i)*b_kw(i)
f(x
u
) = R(1,1)
untuk i=2:n
f(x
u
) = f(x
u
) + suku(i)
3. Salin kode program dalam bahasa Matlab berikut dan modifikasi untuk mencari
nilai dari f(5,5) =ln(5,5)
clc;clear all
% input data ---------------------------
x = [1 4 6 5 3 1.5 2.5 3.5];
y = [0 1.3862944 1.7917595 ...
1.6094379 1.0986123 0.4054641 ...
0.9162907 1.2527630];
[m,jum_data] = size(x);
R = zeros(jum_data,jum_data);
% ---------------------------------------------f(x)=ln(x);
for i=1:jum_data;
R(i,1) = y(i);
end
for j=2:jum_data;
for i=1:(jum_data+1-j);
R(i,j)=(R(i+1,j-1)-R(i,j-1))/(x(j+i-1)-x(i));
end
end
xinput=2;
for i=2:jum_data;
b_kw(i)=1;
for j=1:(i-1);
b_kw(i)=b_kw(i)*(xinput-x(j));
end
suku(i)=R(1,i)*b_kw(i);
end
fn=R(1,1);
for i=2:jum_data
fn=fn+suku(i);
end
fn
Polinom Interpolasi Lagrange
Polinom Interpolasi Lagrange merupakan modifikasi dari bentuk polinom interpolasi
beda terbagi Newton. Polinom ini tidak memerlukan penghitungan beda terbagi
seperti halnya pada polinom interpolasi Newton. Bentuk umum dari polinom
Interpolasi Lagrange adalah sebagai berikut :
dengan
Sebagai contoh, untuk orde 1, polinom ini berbentuk :
dan untuk orde 2, polinom ini berbentuk :
Langkah Praktikum
1. Tuliskan/turunkan kembali perumusan metode interpolasi Lagrange untuk
menghitung nilai dari f(x) = ln(x) dari seperangkat data pada tabel percobaan
sebelumnya secara sistematis.
2. Pelajari algoritma di bawah ini.
Algoritma Interpolasi Lagrange
Masukan : x,y (m,n ukuran x)
Keluaran : f(x
u
)
Langkah :
f(x
u
)=0
untuk i=1:n
untuk j=1:n
jika j i maka
f(x
u
) = f(x
u
) + (Li(x
u
)*y(i))
3. Dari Algoritma tersebut, buat sebuah aplikasi dalam bahasa Matlab untuk
melakukan interpolasi pada data tabel percobaan sebelumnya.
Modul IV. Akar karakteristik (Eigen)
Tujuan Praktikum :
1. Mahasiswa dapat menuliskan kembali metode pencarian akar karakteristik.
2. Mahasiswa dapat membuat sebuah aplikasi komputer penggunaan metode
pencarian akar karakteristik.
3. Mahasiswa dapat merumuskan sebuah permasalahan fisis dan menyelesaikan
permasalahan tersebut dengan bantuan aplikasi yang telah dibuat.
Dasar Teori
Jika terdapat suatu matriks A, yang berukuran n x n, nilai karakteristik dari matriks
A tersebut salah satunya dapat diartikan sebagai nilai skalar yang berpasangan
dengan vektor x 0 dan memenuhi persamaan matriks:
dimana A adalah suatu matriks berukuran n x n dan X adalah vektor karakteristik.
Persamaan di atas, dengan identitas matriks dapat dituliskan sebagai :
[ ]
Jika dimisalkan matrix A merupakan suatu matriks bujur sangkar yang berorde 2 x 2
maka dapat dituliskan sebagai :
[ ] *[
] *
++ *
+ *
+
Karena vektor x tidak boleh bernilai nol, maka persamaan di atas dapat diselesaikan
dengan cara:
[ ]
dan dapat ditulis sebagai:
Persamaan tersebut dikenal dengan persamaan akar karakteristik. Contoh dari
penggunaan metode ini adalah untuk menentukan besarnya nilai dan vektor Eigen
dari suatu matriks. Untuk matriks yang memiliki orde yang besar, maka penentuan
akar karakteristik dapat dilakukan dengan metode Le Verrier-Faddeev.
Metode Le Verrier-Faddeev
Jika nilai matriks di atas ditulis dalam bentuk polinomial:
| |
dengan:
...
menurut teorema Newton, untuk sebuah matriks A, jumlah elemen diagonal matriks
A sama dengan jumlah nilai eigen dari matriks A tersebut, yang dapat dituliskan
sebagai :
dan berdasarkan rumusan Faddeev, maka akan didapatkan:
dengan:
)
Sehingga dengan formulasi tersebut, persamaan karakteristik untuk matriks berorde
lebih dari 2 (dua) dapat ditentukan. Secara sistematis proses penentuan persamaan
karakteristik dapat dilakukan sebagai berikut :
A
1
= A P
1
= trace (A
1
) B
1
= A
1
-P
1*
I
A
2
= AB
1
P
2
= trace (A
2
)/2 B
2
= A
2
-P
2*
I
... ... ...
A
n-1
= AB
n-2
P
n-1
= trace (A
n-1
)/(n-1) B
n-1
= A
n-1
-P
n-1*
I
A
n
= AB
n-1
P
n-2
= trace (A
n
) / n B
n
= A
n
-P
n *
I
Langkah Praktikum
1. Tuliskan/turunkan kembali perumusan metode pencarian akar karakteristik untuk
mencari persamaan dan akar karakteristik dari matriks [
]
2. Lengkapi algoritma berikut.
Masukan : A (m,n ukuran A)
Keluaran : persamaan karakteristik
Langkah :
0. [m,n] = ukuran (A)
Jika m n maka 'Matriks tidak dapat diselesaikan'
1. penentuan trace matriks
trace (A) = 0
untuk i =1 : n
untuk j = 1: m
Jika i=j maka trace(A)=trace(A)+A
ij
2. penentuan persamaan karakteristik
a. buat matriks B = matriks identitas ukuran n x n
b. untuk i=1 : n
A_temp = A * B
P(i) = trace(A_temp)/i
B = A_temp - P(i) * I
c. persamaan karakteristik
(-1)
n
(
n
- P
1
n-1
- P
2
n-2
- ... - P
n-1
- P
n
) = 0
3. Penentuan akar karakteristik. Pada bagian ini digunakan subroutine rutis
(Munadi,1990)
function (S) = trace_g(A)
S = 0;
[m,n] = size(A);
for i = 1 : n
for j = 1 : m
if i==j
S = S + A(i,j);
end
end
end
3. Lengkapi kode program Matlab berikut ini
clc;clear all; P=[];
A=[ 1 2 3;2 2 -1;3 -1 1];
[jlh_baris,jlh_kolom]=size (A);
n=jlh_baris;
B=eye(jlh_baris,jlh_kolom);
for hitung=1:n
Al=A*B;
P=[P trace_g(Al)/hitung];
B=Al-P(hitung)*eye(n,n);
end
% persamaan karakteristik
P =(-1)^n *[1 -P]
[akar,ier,D] =Rutis(P,n,60,1e-2)
function[Q,IER,D]=Rutis(P,N,KMAX,eps)
Q=zeros(1,N);
D=zeros(1,N+1);
IER=0;
K=0;
Q(1)=-P(2)/P(1);
D(1,1)=0;
for j=2:N;
Q(1,j)=0;
D(1,j)=P(1,j+1)/P(1,j);
end
D(1,N+1)=0;
while K<KMAX
K=K+1;
Aux=Q(1,1);
Q(1,1)=D(1,2)+Q(1,1);
D(1,1)=0;
E=abs(Q(1,1)-Aux);
for j=2:N
Aux= Q(1,1);
Q(1,j)=D(1,j+1)-D(1,j)+Q(1,j);
D(1,j)=Q(1,j)*D(1,j)/(Q(1,j-1));
E=E+abs(Q(1,j)-Aux);
end
D(1,N+1)= 0;
if E<eps
IER=1;
end
end
Modul V. Beda Hingga (Finite Differences)
Bentuk umum dari persamaan differensial parsial (PDP) orde 2 (dua) adalah :
)
Jika:
1.
u
2
h
x
h
y
u
1
u
3
u
6
u
5
u
7
u
4
u
8
u
10
u
9
u
11
u
12
Adapun bentuk umum hampiran untuk beda hingga adalah :
dengan h merupakan jarak antara satu titik simpul ke titik simpul yang lain.
Modul V.1. Metode Beda Hingga untuk PDP Eliptik
Tujuan Praktikum :
1. Mahasiswa dapat menuliskan kembali metode beda hingga untuk menyelesaikan
permasalahan persamaan diferensial parsial eliptik.
2. Mahasiswa dapat membuat sebuah aplikasi komputer penggunaan metode beda
hingga untuk kasus PDP Eliptik.
3. Mahasiswa dapat merumuskan sebuah permasalahan fisis dan menyelesaikan
permasalahan tersebut dengan bantuan aplikasi yang telah dibuat.
Dasar Teori
Bentuk umum dari persamaan Laplace adalah:
Untuk permasalahan dalam ruang 2 (dua) dimensi pada koordinat kartesian,
persamaannya dapat dituliskan sebagai :
Formulasi beda hingga untuk persamaan tersebut dengan spasi jarak antar titik
simpul adalah h dituliskan dalam bentuk :
yang dapat juga ditulis dalam bentuk
dan
Solusi PDP akan bernilai unik apabila diberikan syarat batas. Dikenal 2 (dua) jenis
syarat batas yang digunakan yaitu:
1. Syarat batas Dirichlet, yaitu nilai paramater fisis permasalahan diketahui di dalam
maupun pada batas domain.
2. Syarat batas Neumann, yaitu nilai turunan pertama dari parameter fisis yang
ditinjau diketahui baik di dalam maupun pada batas domain.
Persamaan linier yang dibangun untuk setiap titik simpul kemudian diselesaikan
dengan metode penyelesaian SPL yang pernah dibahas sebelumnya. Solusi dari
SPL tersebut adalah solusi bagi PDP Eliptik untuk setiap titik simpul yang terdapat di
dalam domain permasalahan.
Syarat batas yang diberikan disubstitusikan pada SPL yang dibangun. Untuk syarat
batas Dirichlet, secara langsung telah diaplikasikan pada SPL yang dibangun.
Khusus untuk syarat batas Neumann, titik simpul ditambah pada bagian subdomain
yang diketahui syarat batas Neumannya. Turunan pertama dihampiri dengan
perbedaan tengah kemudian diaplikasikan pada titik simpul batas domain. SPL yang
telah dibangun sebelumnya kemudian dimodifikasi pada persamaan linier bagian titik
simpul.
Langkah Praktikum
1. Diberikan sebuah persoalan berikut :
Sebuah plat baja berbentuk bujur sangkar memiliki dimensi 10 cm x 10 cm. Plat
tersebut dikondisikan memiliki suhu pada 3 (tiga) sisinya 0
o
C dan satu sisi
lainnya 100
o
C. Tentukan suhu di bagian dalam dari plat baja tersebut pada
keadaan tunak dan efek sumber pemanas diabaikan.
2. Jika diberikan variabel T adalah temperatur, maka permasalahan tersebut sesuai
dengan persamaan Laplace dalam koordinat kartesian :
3. Diskritisasi domain menjadi 10 bagian sama besar baik dalam arah x maupun y
(yaitu x=y=h=1 cm).
Gambar . diskritisasi domain permasalahan
4. Beri tanda setiap titik simpul sesuai kaidah matriks. Inisialisasi syarat batas
Dirichlet pada setiap titik simpul yang didefinisikan.
% inisialisasi syarat batas Dirichlet
clc;clear all;
nx=10; % jumlah bagian x
ny=10; % jumlah bagian y
T(1,1:nx+1)=100;
T(1:ny+1,1)=0;
T(1:ny+1,nx+1)=0;
T(ny+1,1:nx+1)=0;
5. Buat sistem persamaan linier dari setiap titik simpul yang berada di dalam
domain.
...
dalam bahasa Matlab dituliskan dalam bentuk :
6. Susun sistem persamaan linier tersebut dalam format berikut :
[]{
} {
}
dengan
{
} [
]
dalam bahasa Matlab dituliskan dalam bentuk :
j_unk = (nx-1)*(ny-1); % jumlah titik simpul yang tidak diketahui
u = zeros(j_unk,j_unk);
u1=diag(ones(j_unk-1,1),1);
u2=diag(ones(j_unk-1,1),-1);
u3=diag(ones(j_unk-(nx-1),1),nx-1);
u4=diag(ones(j_unk,1)*-4);
u5=diag(ones(j_unk-(nx-1),1),-(nx-1));
u=u1+u2+u3+u4+u5;
for j=1:fix(nx/2)
u((j*(nx-1))+1,(j*(nx-1)))=0;
u((j*(nx-1)),(j*(nx-1)+1))=0;
end
A = u;
M=zeros(j_unk,1);
for i = 1:(nx-1) % dirichlet atas
M(i,1)=M(i,1)+T(1,i+1);
end
for i=1:(ny-1) % dirichlet kanan
M((nx-1)*i,1)=M((nx-1)*i,1)+T(i+1,nx+1);
end
for i=1:(ny-1) % dirichlet kiri
M((i-1)*(nx-1)+1,1)=M((i-1)*(nx-1)+1,1)+T(i+1,1);
end
for i=1:(nx-1) % dirichlet bawah
M(2*(nx-1)+i,1)=M(2*(nx-1)+i,1)+T(ny+1,i+1);
end
T_known = -M;
7. Selesaikan SPL yang sudah dibuat dengan memanfaatkan fungsi inversi matriks
built-in dalam Matlab.
8. Analisis hasilnya dan bandingkan dengan solusi analitiknya
Syarat batas Neumann pada formulasi Beda Hingga untuk PDP Eliptik
Syarat batas ini merupakan syarat batas berbentuk turunan pertama (flux) dari
parameter fisis yang ditinjau. Turunan pertama dihampiri dengan beda tengah
hampiran deret Taylor.
Domain permasalahan khusus untuk permasalahan syarat batas ini ditambah satu
node di luar domain yang ada sebelumnya.
T_known = -M;
T_unknown =(A'*A)\(A'*T_known);
% untuk plot
T_unknown = reshape(T_unknown,nx-1,ny-1)';
image(T_unknown(1:nx-1,1:ny-1));figure(gcf);
Gambar memperlihatkan penambahan node (sub domain) baru untuk dapat
ditambahkan syarat batas Neumann. Jika syarat batas tersebut berupa
dengan a merupakan sebuah konstanta dan syarat batas ini terdapat pada bagian
utara domain permasalahan, maka persamaan hampiran beda hingga untuk T
1
adalah (seperti pada gambar) :
dengan Tn adalah syarat batas Dirichlet. Variabel Ta dihampiri oleh :
sehingga
persamaan
ini kemudian disubstitusikan ke persamaan hampiran beda hingga
sebelumnya,
untuk kemudian diselesaikan seperti pada contoh sebelumnya.
Modul V.2. Metode Beda Hingga untuk PDP Parabolik
Tujuan Praktikum :
1. Mahasiswa dapat menuliskan kembali metode beda hingga untuk menyelesaikan
permasalahan persamaan diferensial parsial parabolik.
2. Mahasiswa dapat membuat sebuah aplikasi komputer penggunaan metode beda
hingga untuk kasus PDP parabolik.
3. Mahasiswa dapat merumuskan sebuah permasalahan fisis dan menyelesaikan
permasalahan tersebut dengan bantuan aplikasi yang telah dibuat.
Dasar Teori
Bentuk PDP seperti yang pernah dituliskan sebelumnya dengan nilai:
adalah PDP jenis parabolik, yaitu yang memiliki bentuk :
Untuk permasalahan dalam koordinat kartesian dan berdimensi 2 (dua) dapat
dituliskan dalam bentuk :
(
dengan k dan Cp adalah sebuah konstanta. Terlihat, selain terdapat turunan
terhadap domain ruang, terdapat juga turunan terhadap domain waktu. Turunan
terhadap domain waktu hanya dalam orde turunan pangkat 1(satu). Salah satu
contoh PDP jenis ini adalah persamaan difusi.
Syarat batas yang berlaku pada PDP ini sama seperti syarat batas yang
berlaku pada PDP Eliptik, yaitu syarat batas Dirichlet dan syarat batas Neumann.
Terdapat sedikit perbedaan hampiran untuk kedua syarat batas ini jika dibandingkan
dengan PDP Eliptik.
Metode Eksplisit
Pendekatan yang digunakan pada metode ini adalah perbedaan tengah untuk
domain ruang, sementara untuk domain waktu digunakan hampiran perbedaan
maju, yaitu (kasus 1(satu) Dimensi) :
subskript i menyatakan indeks posisi dalam domain permasalahan dan superskript j
menyatakan indeks dalam waktu. Jika digabungkan, formulasi dalam metode ini
menjadi :
) (
Hampiran yang umum digunakan untuk menjaga kesatabilan perhitungan adalah :
Namun jika terdapat syarat batas Neumann, nilai tersebut harus < 1/2.
Kasus Dua Dimensi atau Lebih pada Metode Eksplisit
Pada kasus ini, jika dan
hampiran beda hingga untuk PDP parabolik ditulis sebagai :
)
yang disederhanakan menjadi
dengan nilai r maksimum agar proses perhitungan stabil adalah
Untuk kasus tiga dimensi dan untuk kasus ukuran grid sama untuk setiap arahnya,
maka koefisien suku terakhir untuk kasus dua dimensi diubah menjadi ) serta
nilai r untuk menjaga kestabilan perhitungan bernilai
.
Metode Crank-Nicolson (Implicit)
Pada metode ini, hampiran untuk domain ruang dilakukan pada waktu j dan waktu
j+1, kemudian diambil nilai rata-ratanya. Persamaan tersebut dapat ditulis sebagai :
)
sedangkan terhadap domain waktu
sehingga jika dituliskan secara lengkap :
)
yang dapat juga dituliskan sebagai :
dimana
untuk penyederhanaan dibuat r=1, sehingga:
Kelebihan dari metode Crank-Nicolson adalah kestabilan perhitungan untuk
berbagai nilai r, namun lebih disarankan untuk menggunakan nilai r yang cukup
kecil. Nama metode implicit juga dilekatkan pada metode ini karena terdapatnya
suku
)
Secara unik (dapat dibuktikan) menggunakan skema Alternating Direction Implicit
(ADI) untuk kemudahan proses komputasi dan penghematan penggunaan memori,
metode ini dituliskan sebagai :
sementara langkah waktu berikutnya menggunakan hampiran berikut :
Proses diulang hingga jumlah perulangan yang ditentukan sebelumnya.
Syarat Batas Neumann
Pada batas domain terdapatnya syarat batas jenis ini, domain permasalahan
ditambah satu node. Nilai turunan pertama dari syarat batas tersebut didekati
dengan perbedaan tengah. Variabel tak diketahui pada node tambahan kemudian
disubstitusikan pada persamaan sebelumnya untuk langsung diselesaikan secara
iteratif (metode eksplisit) atau dilakukan penyusunan ulang SPL yang telah
didefinisikan sebelumnya (metode implicit).
Langkah Praktikum
1. Jika diberikan permasalahan sebagai berikut:
Sebuah kubus alumunium memiliki ukuran 10cm x 10cm x 10cm (k=217 J/smC,
c=946 J/kgC, =2,7.10
3
kg/m
3
). Satu sisi pada kubus tersebut tidak diisolasi
dengan baik dan kubus dibuat bersuhu 550C pada saat awal. Panas yang hilang
berasal dari sisi yang tak diisolasi tersebut akibat kontak dengan aliran fluida
berdasarkan persamaan (temperatur fluida = 20C) :
laju kehilangan panas = hA(u-u
o
)
dengan
h= 98,9117 J/sm
2
C
A= luas permukaan setiap sisi alumunium
u = temperatur (C)
u
o
= temperatur fluida
fluifluida
domain
x = 0 x = 10
Tentukan distribusi suhu di dalam kubus setiap saatnya.
2. Dari soal dapat ditentukan u(x,0)=550 dan pada sisi terbuka berlaku
karena laju aliran panas yang keluar sama dengan laju aliran panas yang masuk
ke sistem. Tanda negatif menunjukkan arah yang berlawanan dengan arah positif
gradien. Pada sisi kubus yang lain, laju aliran panas yang keluar adalah
3. Jika digunakan metode eksplisit dengan , dan dengan menggunakan
hubungan berikut :
maka akan dihasilkan = 1,17 s.
Untuk rasio yang dipilih tersebut, persamaan beda hingga untuk kasus ini
menjadi :
yang akan diaplikasikan pada titik x=0 hingga x=10.
4. Karena terdapat syarat batas Neuman, ujung domain ditambahkan sebuah node
khayal x
L
(untuk ujung kiri) dan x
R
(untuk ujung kanan).
dan aplikasikan persamaan berikut pada node khayal.
5. Penggunaan syarat batas neumann digunakan untuk menghilangkan titik khayal
ini. Formulasi beda tengah untuk syarat batas ini memberikan :
) (
)
x
1
x
2
x
3
x
4
x
5
x
6
x
L
x
R
)
6.
Contoh pada kasus aliran panas pada sebuah plat baja yang berukuran 20 cm,
dengan syarat sebagai berikut:
Dengan:
K=0.13 cal/s.cm
o
c
C=0.11 cal/g
o
c
Densitas=7.8g/cm
3
U
0
=70
o
c
jika dibagi menjadi 8 ruas maka didapatkan panjang tiap segmen menjadi 0.25 cm.
dari syarat kestabilan:
Adapun algoritma untuk menyelesaikan persoalan tersebut adalah sebagai berikut:
masukan: U
0
,k,rho,c,l,n,t
Keluaran: U
t
Proses:
k..
c
rho.
l.
t
n=8
delta_x=0: :2
[o,p]=size(delta_x)
Untuk i=1:o
Jika
u(i,1)= 100*delta_x
lainya
u(i,1)=100*(2-x)
akhiri
u(0,1)=
untuk j=2:t
untuk i=1:o
u(i,j)=(u(i+1,j-1)+u(i-1,j-1)-2(i,j-1))/4
Adapun bahasa pemrogramannya pada Matlab sebagai berikut:
clc;clear all;
%inisiasi domain
panjang=2;
del_x=0.25;
%--------
%inisiasi untuk komputasi beda hingga
jumlah_titik=(panjang/del_x)+1;
k=0.13;
c=0.11;
rho=7.8;
r=0.5;%untuk kebijakan umum,nilai ini tidak boleh lebih dari 0.5
del_t=c*rho*(del_x^2)/(2*k);
%---------------nilai awal
for ii=1:jumlah_titik
x(ii)=(ii-1)*del_x;
if x(ii)<=1
u(ii,1)=100*x(ii);
else
u(ii,1)=100*(2-x(ii));
end
end
%berhitung
for jj=1:200
for ii=2:(jumlah_titik-1)
u(ii,jj+1)=(r*(u(ii-1,jj)+u(ii+1,jj)))+((1-(2*r))*u(ii,jj));
end
end
u(1,:)=0;u(jumlah_titik,:)=0;
%bagian nampil
plot(u)
Modul VII. Persamaan Differensial Parsial Hiperbolik
PDP hiperbolik, sering ditemukan dalam kasus untuk menyelesaikan persamaan
gelombang. Dari persamaan umum persamaan PDP:
)
Maka untuk PDP hiperbolik akan diperoleh nilai untuk D sebesar:
Sebagai contoh untuk tinjauan pada gelombang tali:
Dengan metode beda hingga maka:
)
Untuk nilai x yang menuju nol, maka akan didapat nilai y yang stabil sebesar :
Dengan aturan beda tengah maka akan diperoleh nilai untuk
yakni sebesar:
Sehingga dapat ditentukan kemudian solusi untuk persamaan diferential tersebut.
Tinjau untuk kasus dimana senar sebuah instrument ditarik hingga 0.6 cm dari jarak
20 cm terhadap ujungnya, dan kemudian dibiarkan berosilasi. dengan:
Simpangan tiap saatnya kemudian dapat dihitung dengan metode beda hingga
explicit.
Algoritma:
Masukan : T,g,w,delta_x
Keluaran: u
j
Proses:
T
g
w
l=80;
n=10;
Delta_t=sqrt((w*delta_x)/(T*g))
x=0:l/n:l
[o,p]=size(x)
Untuk i=1:o
Jika x(i)<2
u(i,1)=0.1*x
lainya:
u(i,1)=-0.1*x+0.8
akhiri
untuk j=2:t
untuk i=2:o-1
u(i,j)=(1/2)*(u(i-1,j-1)+u(i+1,j-1))