Pages

Minggu, 23 Mei 2010

function x = SEIDEL(n, A, b)
%DEWI JUMLIANA ML/MATEMATIKA 08 UIN ALAUDDIN MAKASSAR
% Fungsi untuk melakukan iterasi Gauss-Seidel
% mencari solusi sistem persamaan linier Ax = b
% n = dimensi vektor x
% A = matriks koefisien
% x = vektor variabel
% b = vektor ruas kanan
% pivoting matriks A
n=input('dimensi vektor x: ')
A=[3 -0.1 -0.2;0.1 7 -0.3;0.3 -0.2 10];
b=[7.85;-19.3;71.4];
vb = 1:n;
for i=1:n
ib=vb(i);
bar=i;
ibx=ib;
m = abs(A(ib,i));
for j=i+1:n
ib=vb(j);
if (abs(A(ib,i))>m)
m = abs(A(ib,i));
bar=j;
ibx=ib;
end
end
ib=vb(i);
vb(i)=ibx;
vb(bar)=ib;
end
% proses iterasi
k=0;
for i=1:n
xk(i)=0.0;
end
tol=5.0e-5;
delta=1.6e-4;
maxstep=300;
while ((ktol))
for i=1:n
ib = vb(i);
m = b(ib);
for j=i+1:n
m = m - A(ib,j)*xk(j);
end
for j=1:i
if (i==j)
x(i) = m/A(ib,i);
else
m = m - A(ib,j)*x(j);
end
end
end
% periksa error
delta=0.0;
for i=1:n
a = (x(i) - xk(i));
dx(i) = abs(a);
xk(i) = x(i);
if (dx(i) > delta)
delta = dx(i);
end
end
k = k + 1;
fprintf('iterasi ke-%g ',k);
x
end
return

Tidak ada komentar:

Posting Komentar