% Métodos numéricos 
% Cap. 2 - Resolução de sistemas lineares pelos métodos iterativos 
% de Jacobi, Gauss-Seidel e Gradiente Conjugado.
% Resolução do exercicio 3 da ficha prática nº3.
% Carlos Balsa 2008/2009
%

x0=zeros(4,1); % aproximação inicial à solução
kmax=30;       % nº maximo de iterações permitidas
tol=1e-8;      % tolerancia pretendida para o erro


% Matriz dos coeficientes do sistema Ax=b
A=[4 -1 -1 0;
   -1 4 0 -1;
   -1 0 4 -1;
   0 -1 -1 4];

% Vector dos termos independentes do sistema Ax=b
b=[0 0 1 1]';

% alinea a), método de Jacobi
[x,r,k]=jacobi(A,b,x0,kmax,tol)

% alinea b), método de Gauss_seidel
[x,r,k]=gauss_seidel(A,b,x0,kmax,tol)

% alinea c), método de Gradiente Conjudado
[x,flag,relres,k,eig]=pcg(A,b,tol,kmax)



