Implementasi Langkah Pada Matlab % Program Untuk Melakukan Eliminasi Gauss Seidel

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

GAUS JORDAN

clc;
clear;
disp('Solusi dari persamaan: x + y + 2z = 9')
disp(' 2x+4y - 3z = 1')
disp(' 3x+6y - 5z = 0')
disp('Menggunakan Metode Eliminasi Gauss-Jordan')
A=[1 1 2 9;2 4 -3 1;3 6 -5 0]
disp('Baris 1 = Baris 1 bagi baris 1 kolom 1')
A(1,:)=A(1,:)/A(1,1)
disp('Baris 2 = - Baris 2 kolom 1 kali baris 1 + Baris 2')
A(2,:)=-A(2,1)*A(1,:)+A(2,:)
disp('Baris 3 = - Baris 3 kolom 1 kali baris 1 + Baris 3')
A(3,:)=-A(3,1)*A(1,:)+A(3,:)
disp('Baris 2 = Baris 2 bagi baris 2 kolom 2')
A(2,:)=A(2,:)/A(2,2)
disp('Baris 3 = - Baris 3 kolom 2 kali baris 2 + Baris 3')
A(3,:)=-A(3,2)*A(2,:)+A(3,:)
disp('Baris 3 = Baris 3 bagi baris 3 kolom 3')
A(3,:)=A(3,:)/A(3,3)
disp('Baris 1 = - Baris 1 kolom 2 kali baris 2 + Baris 1')
A(1,:)=-A(1,2)*A(2,:)+A(1,:)
disp('Baris 2 = - Baris 2 kolom 3 kali baris 3 + Baris 2')
A(2,:)=-A(2,3)*A(3,:)+A(2,:)
disp('Baris 1 = - Baris 1 kolom 3 kali baris 3 + Baris 1')
A(1,:)=-A(1,3)*A(3,:)+A(1,:)
disp('Dengan demikian, diperoleh:')
x1=A(1,4)
x2=A(2,4)
x3=A(3,4)

 SINDEL

 Implementasi Langkah pada Matlab


% Program untuk melakukan eliminasi Gauss Seidel
% n = dimensi matriks
% a = elemen matriks koefisien
% b = elemen ruas kanan
clear;
clc;
n = input ('Jumlah variabel yang akan dihitung=');
a = input ('Masukkan elemen matriks a:');
b = input ('Elemen vektor ruas kanan b:');
display('Elemen matriks');a
display('Elemen ruas kanan');b
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=100;
while((k<maxstep)&(delta>tol))
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
d = (x(i)-xk(i));
dx(i)=abs(d);
xk(i)=x(i);
if(dx(i)>delta)
delta = dx(i);
end
end
k = k+1;
fprintf('iterasi ke-%g',k);
x
end

You might also like