%%%------------------------------- item (3) ---------------------------------%%% function [lmin] = potencia_inv(A) B = inv(A); % calcula a inversa de A n = size(B,1); % determina o tamanho de A x = ones(n,1); % vetor de entrada x (chute inicial) tol = 1e-8; % tolerancia para o residuo (criterio de parada) kmax = 1000; % quantidade maxima de iteracoes (criterio de parada) k = 0; % inicializa a variavel para contagem das iteracoes err = 10; % inicializa o erro para entrar no loop l_v = 0; % inicializa o variavel auxiliar do autovalor na iteracao anterior while abs(err) > tol && k < kmax y = x/norm(x); % normaliza x x = B*y; % atualiza x fazendo x = A*y lambda = dot(y,B*y); % Aproxima o autovalor pelo processo iterativo err = abs(lambda - l_v); % calcula o erro em modulo l_v = lambda; % atualiza o valor de l_v para a proxima iteracao k = k + 1; % atualiza a iteracao end lmin = 1/lambda; % menor autovalor de A end %%%--------------------------------------------------------------------------%%%