% 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))
|