function lambda = autovalor(A,esc,q) n = size(A,1); M = zeros(n,n); if(esc == 1) % Método das Potências M = A; elseif(esc == 2) % Método das Potências Inversas M = inv(A); elseif(esc == 3) % Metodo das Potencias Inversas com Deslocamento M = inv(A-q*eye(n)); end % Calcular o Autovalor x = rand(n,1); y = x/norm(x,2); lambda = y'*M*y; for k = 1:1000 x = M*y; y = x/norm(x,2); lambdanew = y'*M*y; if(abs(lambdanew - lambda) < 1e-6) break; end lambda = lambdanew; end % Depende da escolha do Método if(esc == 1) lambda = lambda; elseif(esc == 2) lambda = 1/lambda; elseif(esc == 3); lambda = q+1/lambda; end end