Sei sulla pagina 1di 2

%Program Eliminasi Gauss

function x = GAUSS(n, A, b)
% fungsi untuk melakukan eliminasi Gauss
% untuk menyelesaikan SPL Ax = b
% n = dimensi matriks
% A = matriks koefisien
% b = vektor ruas kanan
n=input(masukkan dimensi matriks: )
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-1
% proses vipoting
ib = vb(i);
maxi = abs(A(ib,i));
bar = i;
ibx = ib;
for bars=i+1:n
ib=vb(bars);
if (abs(A(ib,i))) > maxi
maxi = abs(A(ib,i));
bar = bars;
ibx = ib;
end
end
ib = vb(i);

vb(i) = ibx;
vb(bar) = ib;
% proses eliminasi
ib = vb(i);
for j=i+1:n
ibx = vb(j);
m = -A(ibx,i) / A(ib,i);
for k=i:n
A(ibx,k) = A(ibx,k) + m*A(ib,k);
end
b(ibx) = b(ibx) + m*b(ib);
end
end
%subsitusi balik
ib = vb(n);
x(n) = b(ib)/A(n,n);
for i=n-1:-1:1
ib = vb(i);
sum = b(ib);
for j=i+1:n
sum = sum A(ib,j)*x(j);
end
x(i) = sum /A(ib,i);
end
return

Potrebbero piacerti anche