%
% Test der Implementierung der Gauss-Quadratur der Ordnung 4 (Aufgabe 6.3)
%
% Vorlesung "Einfuerung in die Numerik", Uni Basel, FS 11
%

clear all
close all

f_test1 = @(x) exp(x);  % Funktion für den ersten Test
f_test2 = ... ;          % Funktion für den zweiten Test

I_exact =  ... ; % exakter Wert des ersten Integrals

h = ... ; % Vektor mit allen Werten für h anlegen

QuadGauss_Test1 = zeros(1,length(h)); % Speicherplatz für ersten Test anlegen

QuadGauss_Test2 =  ... ;              % Speicherplatz für zweiten Test anlegen
error_test2 = ... ;                   % Speicerplatz für Fehler im zweiten Test


for i = 1 : length(h);
    
    % Numerische Approximation von I1
    QuadGauss_Test1(i) = Quad_SumGauss4( ... , ... , ... , ... );
    
    % Numerische Approximation von I2
    QuadGauss_Test2(i) = Quad_SumGauss4( ... , ... ,  ... , ... );
    
    if i > 1
        % Fehler der zweiten Test-Rechnung
        error_test2(i-1) = abs( ... );
    end
end

% Fehler der zweiten Test-Rechnung im letzten Schritt
error_test2(end) = abs( ... );

figure(1)
loglog(h, ... , 'ko-', h, h.^4)
legend('Gauss-Quadratur', 'Ordnung 4', 'Location','SouthEast')
xlabel('h')
ylabel('error')
title('Test 1: f(x) = exp(x)')

figure(2)
loglog(h, ... , 'ko-', h, ... )
legend('Gauss-Quadratur', 'Ordnung 3/2', 'Location','SouthEast')
xlabel('h')
ylabel('error')
title('Test 2: f(x) = sqrt(x)')
