You are on page 1of 5

Ardiana Iqbal Nurrohman

01111640000045

2. Algoritma PDP implisit


1) Inisiasi parameter dasar (koefisian difusi termal, interval waktu, interval ruang, ukuran
ruang)
2) Insiasi kadaan awal / syarat batas
3) Insiasi matriks dari persamaan matriks
4) Operasi matriks (eliminasi gauss/gauss Jordan, invers matriks,dll)
5) Inisiasi solusi
3. Program PDP implisit dalam MATLAB
clear all
clc
%inisiasi parameter dasar%
l=10;
t=1;
dt=0.1;
dl=2;
k=0.835;
g=k*dt/(dl^2);
n=l/dl;
m=t/dt;
x=0:dl:l;
t=0:dt:t;
%inisiasi kondisi awal%
T=zeros(n+1,m+1);
T(1,:)=100;
T(n+1,:)=50;

%inisiasi matriks%
A=zeros(n+1,n+1);
A(1,1)=1+2*g;
A(1,2)=-g;
A(n+1,n+1)=1+2*g;
A(n+1,n)=-g;
for i=2:n
A(i,i)=1+2*g;
A(i,i-1)=-g;
A(i,i+1)=-g;
end
A;
for z=2:m
for j=1:n+1
A(j,n+2)=T(j,z);
end

%------------Proses Pivoting----------
s = zeros(n+1,1);
%----------menset faktor skala----------
for i = 1:n+1; s(i) = max(abs(A(i,1:n+1))); end
%---------penukaran baris jika diperlukan----------
for k = 1:n+1
[Amax,p] = max(abs(A(k:n+1,k))./s(k:n+1));
p = p + k - 1;
if Amax < eps; error('Matriks singular');
end
if p ~= k
T(:,z) = swapRows(T,k,p);
s = swapRows(s,k,p);
A = swapRows(A,k,p);
Ardiana Iqbal Nurrohman
01111640000045

end
%---- akhir proses pivoting -----
%--------------Proses Eliminasi---------------
for i = k+1:n
if A(i,k) ~= 0
r = A(i,k)/A(k,k);
A(i,k+1:n) = A(i,k+1:n) - r*A(k,k+1:n);
%A(k+1:n,i)=A(k+1:n,i)-rr*A(k+1:n,k)
T(i,z) = T(i,z) - r*T(k,z);
end
end
end
%------------Proses Substitusi Mundur----------
for k = n:-1:2
T(k,z+1) = (T(k,z) - A(k,k+1:n)*T(k+1:n,z))/A(k,k);
end
end
T=T'

4. Hasil luaran (output) program PDP implisit


T=
100.0000 0 0 0 0 50.0000
100.0000 2.0038 0.0402 0.0008 0.0000 50.0000
100.0000 3.9289 0.1174 0.0031 0.0001 50.0000
100.0000 5.7807 0.2288 0.0076 0.0002 50.0000
100.0000 7.5642 0.3719 0.0148 0.0005 50.0000
100.0000 9.2840 0.5443 0.0251 0.0010 50.0000
100.0000 10.9446 0.7438 0.0391 0.0017 50.0000
100.0000 12.5502 0.9687 0.0572 0.0028 50.0000
100.0000 14.1044 1.2172 0.0796 0.0043 50.0000
100.0000 15.6111 1.4878 0.1066 0.0063 50.0000
100.0000 15.0698 1.4355 0.1028 0.0061 50.0000

You might also like