Berikut adalah program M-File SOR untuk menyelesaikan SPL dengan matlab :
function
[hasil]=sor(A,b,X0,w,tol)
L=triu(A',1)';
c=size(A);
D=eye(c).*A;
U=triu(A,1);
I=eye(c);
E=inv(D);
hasil=[0 X0'];
k=1;
M1=w*E*L;
M2=w*E*b;
M3=w*E*U;
X=inv(I+M1)*(M2+((1-w)*I-M3)*X0);
while
max(X-X0)>tol,
hasil=[hasil;k X'];
X0=X;
k=k+1;
X=inv(I+M1)*(M2+((1-w)*I-M3)*X0);
end
Cara memanggil programnya adalah dengan mengetik :
>>
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]';
hasil=it_sor(A,b,X0,1.05,0.001)