Selasa, 26 Maret 2013

ELIMNASI GAUS



ELIMINASI GAUSS


1. Pengertian Eliminasi Gauss
Eliminasi Gauss adalah suatu metode untuk mengoperasikan nilai-nilai di dalam matriks sehingga menjadi matriks yang lebih sederhana lagi. Dengan melakukan operasi baris sehingga matriks tersebut menjadi matriks yang baris. Ini dapat digunakan sebagai salah satu metode penyelesaian persamaan linear dengan menggunakan matriks. Caranya dengan mengubah persamaan linear tersebut ke dalam matriks teraugmentasi dan mengoperasikannya. Setelah menjadi matriks baris, lakukan substitusi balik untuk mendapatkan nilai dari variabel-variabel tersebut.

*Metode iterasi Gauss-Seidel untuk menyelesaikan sistem persamaan linear*

Suatu sistem persamaan linier terdiri atas sejumlah berhingga persamaan linear dalam sejumlah berhingga variabel. Menyelesaikan suatu sistem persamaan linier adalah mencari nilai-nilai variabel yang belum diketahui yang memenuhi semua persamaan linier yang diberikan.
Rumus iterasi untuk hampiran ke-k pada metode iterasi Gauss-Seidel adalah sebagai berikut. Untuk i = 1, 2, …, n dan k = 1, 2, 3, …,
 
x^{(k)}_i  = \frac{1}{a_{ii}} \left(b_i - \sum_{j=1}a_{ij}x^{(k)}_j-\sum_{j=i+1}a_{ij}x^{(k-1)}_j\right),\, i=1,2,\ldots,n.

>>Algoritma Iterasi Gauss-Seidel<<

Untuk menyelesaikan sistem persamaan linier AX = b dengan A adalah matriks koefisien n × n , b vektor konstanta n × 1 , dan X vektor n × 1 yang perlu di cari.
INPUT : n, A, b dan hampiran awal Y = (y1 y2 y3 ...yn)T, batas toleransi T dan maksimum iterasi N.
OUTPUT : X = (x1 x2 x3 ...xn)T atau pesan "gagal".

LANGKAH-LANGKAH :
1. Set penghitung iterasi k = 1
2. WHILE k <= N DO
(a) FOR i = 1, 2, 3, ..., n, hitung : 
x^{(k)}_i  = \frac{1}{a_{ii}} \left(b_i - \sum_{j=1}a_{ij}x_j-\sum_{j=i+1}a_{ij}x_j\right),\, i=1,2,\ldots,n.
(b) Set X = (x1 x2 x3 ...xn)T
(c) IF ||X - Y|| < T THEN STOP
(d) Tambah penghitung iterasi, k = k + 1
(e) FOR i = 1, 2, 3, ..., n, Set yi = xi
(f) Set Y = (y1 y2 y3 ...yn)T
3. Tulis pesan "metode gagal setelah N iterasi"
4. STOP.

Implementasi dengan MATLAB

function [X1,g,H] = seidel(A,b,X0,T,N)
H = X0';
n = length(b);
X1 = X0 ;
for k=1:N,
for i=1:n,
S=b(i)-A(i,1:i-1)*X1(1:i-1)-A(i,i+1:n)*X0(i+1:n);
X1(i)=S/A(i,i);
end
g=abs(X1-X0);
err=norm(g);
relerr=err/(norm(X1)+eps);
X0=X1;
H=[H,X0'];
if(err<T)|(relerr<T),break,end
end

Contoh

Sebagai gambaran misalkan mencari penyelesaian SPL
10x1 - x2 +2x3=6
-x1+11x2-x3+3x4=25
2x1-x2+10x3-x4=-11
3x2-x3+8x4=15
Berikut pemakaian fungsi MATLAB seidel untuk penyelesaian soal di atas dan keluaran yang diperoleh :
>> A=[10 -1 2 0;-1 11 -1 3;2 -1 10 -1;0 3 -1 8]
A =
   10    -1     2     0
   -1    11    -1     3
    2    -1    10    -1
    0     3    -1     8
>> b=[6;25;-11;15]
b =
    6
   25
  -11
   15
>> X0=[0;0;0;0]
X0 =
    0
    0
    0
    0
>> T=0.0001;N=25;
>> [X,g,H]=seidel(A,b,X0,T,N)
X =
   1.0000
   2.0000
  -1.0000
   1.0000
g =
 1.0e-004 *
   0.8292
   0.2017
   0.2840
   0.1111
H =
 Columns 1 through 5 
        0         0         0         0    0.6000
 Columns 6 through 10 
   2.3273   -0.9873    0.8789    1.0302    2.0369
 Columns 11 through 15 
  -1.0145    0.9843    1.0066    2.0036   -1.0025
 Columns 16 through 20 
   0.9984    1.0009    2.0003   -1.0003    0.9998
 Columns 21 through 25 
   1.0001    2.0000   -1.0000    1.0000    1.0000
 Columns 26 through 28 
   2.0       -1.0000    1.0000

 

Tidak ada komentar:

Posting Komentar