Anda di halaman 1dari 5

PEMBAHASAN

1. Metode Jacobi
Misalkan diberikan tebakan awal 𝑥 (0) :
(0) (0) (0)
𝑥 (0) = (𝑥1 , 𝑥2 , ... , 𝑥𝑛 )T

Prosedur lelaran untuk lelaran pertama, kedua, dan seterusnya adalah sebagai
berikut:
Lelaran pertama:
(0) (0) (0)
(1) 𝑏1 −𝑎12 𝑥2 −𝑎13 𝑥3 −...−𝑎1𝑛 𝑥𝑛
𝑥1 = 𝑎11
(0) (0) (0)
(1) 𝑏2 −𝑎21 𝑥1 −𝑎23 𝑥3 −...−𝑎2𝑛 𝑥𝑛
𝑥2 =
𝑎22


(0) (0) (0)
(1) 𝑏𝑛 −𝑎𝑛1 𝑥1 −𝑎𝑛2 𝑥2 −...−𝑎𝑛𝑛−1 𝑥𝑛−1
𝑥𝑛 = 𝑎𝑛𝑛

Lelaran kedua:
(1) (1) (1)
(2) 𝑏1 −𝑎12 𝑥2 −𝑎13 𝑥3 −...−𝑎1𝑛 𝑥𝑛
𝑥1 = 𝑎11
(1) (1) (1)
(2) 𝑏2 −𝑎21 𝑥1 −𝑎23 𝑥3 −...−𝑎2𝑛 𝑥𝑛
𝑥2 = 𝑎22


(1) (1) (1)
(2) 𝑏𝑛 −𝑎𝑛1 𝑥1 −𝑎𝑛2 𝑥2 −...−𝑎𝑛𝑛−1 𝑥𝑛−1
𝑥𝑛 = 𝑎𝑛𝑛

Rumus umum :
(𝑘)
(𝑘+1) 𝑏𝑖 −∑𝑛
𝑗=1,𝑗≠𝑖 𝑎𝑖𝑗 𝑥𝑗
𝑥𝑖 = , k = 0, 1, 2, . . . . .
𝑎𝑖𝑖
Script metode jacobi:
2. Metode Gauss Seidel
Metode iterasi Gauss Seidel hampir sama dengan metode iterasi Jacobi.
Perbedaannya hanya terletak pada penggunaan nilai elemen vektor 𝑥 (𝑏𝑎𝑟𝑢) yang
langsung digunakan pada persamaan dibawahnya.
Kecepatan konvergen pada lelaran Jacobi dapat dipercepat bila setiap harga xi
yang baru dihasilkan segera dipakai pada persamaan berikutnya untuk
menentukan harga 𝑥𝑖+1 yang lainnya.
Lelaran pertama:
(0) (0) (0)
(1) 𝑏1 −𝑎12 𝑥2 −𝑎13 𝑥3 −𝑎14 𝑥4
𝑥1 = 𝑎11
(1) (0) (0)
(1) 𝑏1 −𝑎21 𝑥1 −𝑎23 𝑥3 −𝑎24 𝑥4
𝑥2 = 𝑎22
(1) (1) (0)
(1) 𝑏3 −𝑎31 𝑥1 −𝑎32 𝑥2 −𝑎34 𝑥4
𝑥3 = 𝑎33
(1) (1) (1)
(1) 𝑏4 −𝑎41 𝑥1 −𝑎42 𝑥2 −𝑎43 𝑥3
𝑥4 = 𝑎44

Lelaran kedua:
(1) (1) (1)
(2) 𝑏1 −𝑎12 𝑥2 −𝑎13 𝑥3 −𝑎14 𝑥4
𝑥1 = 𝑎11
(2) (1) (1)
(2) 𝑏1 −𝑎21 𝑥1 −𝑎23 𝑥3 −𝑎24 𝑥4
𝑥2 = 𝑎22
(2) (2) (1)
(2) 𝑏3 −𝑎31 𝑥1 −𝑎32 𝑥2 −𝑎34 𝑥4
𝑥3 = 𝑎33
(2) (2) (2)
(2) 𝑏4 −𝑎41 𝑥1 −𝑎42 𝑥2 −𝑎43 𝑥3
𝑥4 = 𝑎44

Rumus umum:
(𝑘+1) (𝑘)
(𝑘+1) 𝑏𝑖 −∑𝑛
𝑗=1 𝑎𝑖𝑗 𝑥𝑗 −∑𝑛
𝑗=𝑖+1 𝑎𝑖𝑗 𝑥𝑗
𝑥𝑖 = , k = 0, 1, 2, ....
𝑎𝑖𝑖

Script metode gauss seidel:


3. Membuat Script ringkas pada iterasi Gauss seidel (dengan for atau while).
clc;
clear all;
A=[10 -1 2 0 ; -1 11 -1 3; 2 -1 10 -1;0 3 -1 8];
b=[6;25;-11;15];
x0=[0;0;0;0];
tol = 10^(-7);
N =100;
norm=1;
n=length(A);
k=1;
while (k<=N & norm>=tol);
f=0;
for j = 2:n;
f=f+A(1,j)*x0(j,1);
end
x(1,1)=(b(1,1)-f)/A(1,1);
for i= 2:n-1;
r=0;
s=0;
for j=1:i-1;
r=r+A(i,j)*x(j,1);
end
for j=(1+i):n;
s=s+A(i,j)*x0(j,1);
end
x(i,1)=(b(i,1)-r-s)/A(i,i);
end
t=0;
for j=1:(n-1);
t=t+A(n,j)*x0(j,1);
end
x(n,1)=(b(n,1)-t)/A(n,n);
err=max(abs(x-x0));
k=k+1;
x0=x;
end
disp('Solusi SPL adalah')
for m = 1:n;
fprintf('x%d=%2.7f\n',m,x(m,1));
end
end

Anda mungkin juga menyukai