MATLAB Program for Successive Over-Relaxation (SOR)
MATLAB Programs:
% SOR (Successive Over-Relaxation) 
 n = input('Enter number of equations,
n:  ');
 A =
zeros(n,n+1);
 x1 =
zeros(1,n);
 A=[4 2 3 8; 3
-5 2 -14; -2 3 8 27];
 x1 = [0 0 0];
 tol = input('Enter tolerance, tol:  ');
 m = input('Enter maximum number of
iterations, m:  ');
 w = input('Enter the parameter w
(omega):  ');
 k = 1;
 while 
k <= m 
   err = 0;
   for i = 1 : n 
      s = 0;
      for j = 1 : n 
        s =
s-A(i,j)*x1(j);
      end
      s =
w*(s+A(i,n+1))/A(i,i);
      if abs(s) > err 
         err =
abs(s);
      end
      x1(i) =
x1(i)+s;
   end
   if err <= tol 
      break;
   else
      k = k+1;
   end
 end
 fprintf('The solution vector after %d
iterations is :\n', k);
 for i = 1 : n 
 fprintf('   %11.8f \n', x1(i));
 end
>> successive_over_relaxation
Enter number of equations, n: 3
Enter tolerance, tol: 0.001
Enter maximum number of iterations, m: 50
Enter the parameter w (omega): 1.25
The solution vector after 29 iterations is :
-1.00019013
2.99962341
2.00017040
>>
 
 
 
 
 
 
%206th%20Edition,%20Kindle%20Edition.jpg) 
 
 
 Posts
Posts
 
 
 
 
 
 
 
 
No comments