function yf = numerov(anf,aend,y1,y2,k1y1,eigw,n,kfunc);
% numerov.m
% by Andrej Golubkov
% Lösung einer Gleichung der Form y''(x) + k(x) y(x) = 0
% anf = linker rand
% aend = rechter rand
% y1, y2 = y(a), y(a+h)
% k1y1 = k(a)*y(a)
% eigw = Eigenwert , meist Energie E
% n = anzahl der Subinterwalle [a,b]
% kfunc .. Handle zur funktion k(x)
% ausgabe = y(i) mit i=1 ... n+2 mit a -> 1 und b -> n+1 

h = (aend - anf)/n;
hh12 = h^2/12;

x = anf;
yll = y1;
yf(1) = y1;
kyll = k1y1;
x = x+h;
yl = y2;
yf(2) = y2;
kl = feval(kfunc,x,eigw);

for i = 2:n+1
   
   x = x+h;
   k = feval(kfunc,x,eigw);
   
   y = (2 * (1 - 5 * hh12 * kl) * yl - yll - hh12 * kyll)/(1 + hh12 * k);
   
   yf(i+1) = y;
   yll = yl;
   kyll = kl * yl;
   yl = y;
   kl = k;
end