% Metoda iscrpljivanja - odredjuje drugu po velicini modula sopstvenu
% vrednost i njoj odgovarajuci sopstveni vektor matrice A.
%
% Poziv funkcije: [l,x]=met_iscrpljivanja(A,epsilon)
%
% Argumenti funkcije:
%   A - simetricna matrica dimenzije NxN
%   eps - zadata tacnost
%
% Funkcija vraca:
%   l2 - drugu po velicini modula sopstvenu vrednost matrice A
%   x2 - normiran sopstveni vektor koji odgovara sop.vrednosti l

function [l2,x2]=met_iscrpljivanja(A,epsilon)

% Najpre moramo odrediti najvecu po velicini modula sopstvenu vrednost
% matrice A i njoj odgovarajuci sopstveni vektor. Za to mozemo koristiti
% metodu tragova:
[l1,x1]=met_tragova(A,epsilon);

% Odredjujemo najvecu po modulu sopstvenu vrednost matrice A*
[L1,y1]=met_tragova(A',epsilon);
y1'*x1;
% Proveravamo uslov (x1,y1)=1
if(abs(y1'*x1-1)>epsilon)
    error('Nije ispunjen uslov da (x1,y1)=1');
else
    A=A-l1*x1*y1';
end

% Pozivamo metodu tragova da nam odredi najvecu po modulu sopstvenu
% vrednost i njoj odgovarajuci sopstveni vektor novodobijene matrice A,
% koji ce ujedno biti druga po velicini modula sopstvena vrednost i odg.
% sopstveni vektor pocetne matrice.
[l2,x2]=met_tragova(A,epsilon);
