% OCW Universidad de Cantabria
% Cálculo Simbólico y Numérico en Ecuaciones Diferenciales
% © Cursos 2001-2014,  M. Eugenia Pérez, UC
%
function[afunction, avaloraprox] = fvpstiff(n,e)
% Problema de valores propios
% ey''=- \lambda y, en (-1,0)
% y''=-lambda y en (0,1); y(-1)=0,y(1)=0. 
%
h=1/(n+1);
x=-1+h:h:1-h;
a=2*ones((2*n+1),1);
b=-ones(((2*n+1)-1),1);
Ann=diag(a)+diag(b,1)+diag(b,-1);
for i=1:n+1
   Ann(i,i)=2*e;
end
Ann(n+2,n+2)=e+1;
for i=2:n+2
   Ann(i,i-1)=-e;
end
for i=1:n+1
   Ann(i,i+1)=-e;
end
B=diag(a)/3-diag(b,1)/6-diag(b,-1)/6;
[afunction,avaloraprox]=eig(Ann,B);
%
avaloraprox=avaloraprox/h^2;
%
t=[-1,x,1];
T=t(:);
 for i=1:(2*n+1)
    valorpropio=avaloraprox(i,i);
    plot(T,[0;afunction(:,i);0])
    axis([-1,1,-0.5,0.5])
 pause
end
