from
interpolat
by Ali Mohammad Razeghi
finds brackets of x that contain sign changes of a function on the interval [ xmin , xmax ] and uses
|
| GaussSeidel(A,b,es,maxit)
|
function x = GaussSeidel(A,b,es,maxit)
% x = GaussSeidel(A,b):
% Gauss Seidel method.
% input:
% A = coefficient matrix
% b = right hand side vector
% es = (optional) stop criterion (%) (default = 0.00001)
% maxit = (optional) max iterations (default = 50)
% output:
% x = solution vector
if nargin<4, maxit=50; end
if nargin<3, es=0.00001; end
[m,n] = size(A);
if m~=n, error('Matrix A must be square'); end
C = A;
for i = 1:n
C(i,i) = 0;
x(i) = 0;
end
x = x';
for i = 1:n
C(i,1:n) = C(i,1:n)/A(i,i);
end
for i = 1:n
d(i) = b(i)/A(i,i);
end
iter = 0;
while (1)
xold = x;
for i = 1:n
x(i) = d(i)-C(i,:)*x;
if x(i) ~= 0
ea(i) = abs((x(i) - xold(i))/x(i)) * 100;
end
end
iter = iter+1;
if max(ea)<=es | iter >= maxit, break, end
end
% By Steven C. Chapra
|
|
Contact us