% naive_vs_rayleigh.m format long a=[1 1 1;1 2 2;1 2 3] eigen=eig(a) x=ones(3,1); maxiter=10; r=zeros(maxiter,1); n=zeros(maxiter,1); for k=1:maxiter y=a*x; x=y/norm(y); ax=a*x; r(k)=x'*ax; n(k)=ax(1)/x(1); end r n error_r=r-max(eigen) error_n=n-max(eigen) %subplot(1,2,1) %semilogy(1:maxiter,abs(error_r)) %subplot(1,2,2) %semilogy(1:maxiter,abs(error_n)) clf semilogy(1:maxiter,abs(error_r),1:maxiter,abs(error_n)) |