clear all
format long ;

F = inline('sin(x)');     % Integrand

a  = 0    ;
b  = pi/2 ;               % Integrationsgrenzen

n  = 100  ;               % Anzahl der Abschnitte
h  = (b-a) / n ;          % Breite eines Abschnitts
nS = n + 1 ;              % Anzahl der Stützstellen
xS = a : h : b ;          % Koordinaten der Stuetzpunkte
yS = F(xS) ;              % Funktionswerte an den Stuetzstellen

% Trapezregel:
Trapez = ((yS(1)+yS(nS))/2 + sum (yS(2:n)))*h 

% Simpsonsche Regel:
I = (yS(1)+yS(nS)) ;      % Erster und letzer Wert der Formel
faktor = 4 ;
for i = 2:n
   I = I + yS(i)*faktor ;         
   if   (faktor == 4) faktor = 2 ;
   else               faktor = 4 ;
   end ;
end
Simpson = I*h/3

% Einfachste Gaußformel:
xS = a+h/2 : h : b-h/2 ;  % Koordinaten der Stuetzpunkte
yS = F(xS) ;              % Funktionswerte an den Stuetzstellen
Gauss = sum (yS(1:n))*h 

% Die MATLAB-quad-Funktion approximiert das Integral mit
% rekursiver Anwendung der Simpsonschen Regel bis zum Erreichen
% einer vorgegebenen Genauigkeit (Voreinstellung: 1.e-6):
MatLabquad        = quad (F , a , b)
MatLabquadGenauer = quad (F , a , b , 1.e-10)
