%% Dieses Skript lässt sich auch wieder auf 
%% http://octave-online.net ausführen:

% 1. Gehen Sie auf die Seite  http://octave-online.net/
% 2. "Dismissen" Sie die Kommentar-Fenster (kein "Sign in" nötig)
% 3. "Copy&Pasten" Sie den Text dieser Datei in die Kommandozeile
%    am unteren Ende der Seite 
% 4. Drücken Sie jeweils "Enter" und warten Sie die Ergebnisse ab

N = 10000; %Anzahl der zufällig gezogenen 3D-Punkte in den Grenzen:

xa = -1; % Anfang x
xe = 1; % Ende x

ya = 0; % Anfang y
ye = pi/2; % Ende y

points = rand(2,N); % N Punkte in Box [0;1]^2 ziehen
points = diag([xe-xa,ye-ya])*points; %Intervallbreite
points = points + diag([xa,ya])*ones(2,N); %Intervallanfang

% Integrand auf x und y Werte anwenden (=1. und 2. Zeile von points)
f = points(1,:).^2 .* cos(points(2,:)); 

% Anfang und Ende des z-Intervalls rechnen
za = min(f); ze = max(f);

% zufällig z-Koordinaten ziehen
z = rand(1,N)*(ze-za) + za;

% Anteil der Punkte unter der Kurve bestimmen
A=length(find(z<= f))/N;

% Integral ausrechnen = Anteil * Boxvolumen
integr = A*(xe-xa)*(ye-ya)*(ze-za) 
