function [i,r1]=IterSimul(A,r)
% Máximos valores propios de A (simétrica) por iteración simultánea
%
 n=length(A); if nargin<2, r=5; end
 tol=sqrt(eps); B=A; i=0; itmax=400;
 Q=eye(n,r); R=eye(r); vprn=1; err=1;
 while i<itmax && err>tol
    vpr=vprn;
    Z=A*Q;
    [Q,R]=qr(Z,0);      % QR simplicada n x r
    vprn=min(diag(R));
    i=i+1;
    err=abs((vprn-vpr)/vprn);
 end 
 format long
 r1=diag(R);    % fprintf('%i Valores propios máximos:\n',r);
 disp('Valores calculados con eig()'); 
 disp(-sort(eig(-B)));
end