% Musterlösung
%
% Numerische Mathematik, SS 2013
%
% rekursive Berechnung eines Integrals
%
% Ingolf Busch, Juni 2013

% Input: n  Index des gewuenschten Integrals
%        m  (optional) Startindex für alternative Rekursion


% Output: indices    Indizes, für die ein Integal berechnet wurde
%         integrals  Wert der Integrale


function [indices,integrals] = my_integral(n,m)

e = exp(1);

if (nargin == 1) && (n>0) %Vorwärtsrekursion
  
    indices   = 0:n;
    integrals = zeros(size(indices));
    
    integrals(1) = e-1;
    
    for i=1:n
        integrals(i+1) = e-i*integrals(i);
    end
    return
end

if (n>0)&&(m>n) % Rueckwaertsrekursion
  indices   = m:-1:n;
  integrals = zeros(size(indices));
  
  integrals(1) = 0;
  h=1;  
  for i=m-1:-1:n 
    integrals(h+1)=(e-integrals(h))/(i+1);
    h=h+1;
  end
  return
end

indices   = [];
integrals = [];