% Integrand
fun = @(x,n) x.^n./(x+100);
%
% Vorwaertsrekursion
%  
disp('Vorwaerts    0-->9')
disp('   n       rekursiv            "exakt"             absoluter Fehler     relativer Fehler');
In=log(1.01);
J(1)=integral(@(x)fun(x,0),0,1);
fprintf('%4i ',0);fprintf('%20.10e ',[In,J(1),In-J(1),(In-J(1))/J(1)]);fprintf('\n');
for n  = 1:9 
    In=1/n-100*In;
    J(n+1)=integral(@(x)fun(x,n),0,1);
    fprintf('%4i ',n);fprintf('%20.10e ',[In,J(n+1),In-J(n+1),(In-J(n+1))/J(n+1)]);fprintf('\n');
end
pause
%
% Rueckwaertsrekursion
%
fprintf('\n Rueckwaerts   9-->0\n')
fprintf('   n       rekursiv            "exakt"             absoluter Fehler     relativer Fehler\n');
In=1/904;
fprintf('%4i ',9);fprintf('%20.10e ',[In,J(10),In-J(10),(In-J(10))/J(10)]);fprintf('\n');
for n  = 8:-1:0 
    In=(1/(n+1)-In)/100;
    fprintf('%4i ',n);fprintf('%20.10e ',[In,J(n+1),In-J(n+1),(In-J(n+1))/J(n+1)]);fprintf('\n');
end
pause
%
% R?ckw?rtsrekursion; schlechte Startschaetzung
%
fprintf('\n Rueckwaerts mit "dummer" Startschaetzung  9-->0\n')
fprintf('   n       rekursiv            "exakt"             absoluter Fehler     relativer Fehler\n');
In=-1;
fprintf('%4i ',9);fprintf('%20.10e ',[In,J(10),In-J(10),(In-J(10))/J(10)]);fprintf('\n');
for n  = 8:-1:0 
    In=(1/(n+1)-In)/100;
    fprintf('%4i ',n);fprintf('%20.10e ',[In,J(n+1),In-J(n+1),(In-J(n+1))/J(n+1)]);fprintf('\n');
end
pause
%
% Rueckwaertsrekursion; schlechte Startschaetzung  19-->9
%
fprintf('\n Rueckwaerts mit "dummer" Startschaetzung  19-->9\n')
fprintf('   n       rekursiv            "exakt"             absoluter Fehler     relativer Fehler\n');
In=-1;
J(20)=integral(@(x)fun(x,19),0,1);
fprintf('%4i ',19);fprintf('%20.10e ',[In,J(20),In-J(20),(In-J(20))/J(20)]);fprintf('\n');
for n  = 18:-1:9 
    In=(1/(n+1)-In)/100;
    J(n+1)=integral(@(x)fun(x,n),0,1);
    fprintf('%4i ',n),fprintf('%20.10e ',[In,J(n+1),In-J(n+1),(In-J(n+1))/J(n+1)]),fprintf('\n')
end