% Detta program beräknar arean av en cirkelskiva med radien 0.5
% 

N=500;   % antal slumpmässigt valda punkter

hold off
axis([0,1,0,1])   % först plottar vi området ....
plot( 0.5+0.5*cos(0:0.01:2*pi), 0.5+0.5*sin(0:0.01:2*pi) );
hold on

% Att skriva loopar i matlab är ofta ineffektivt, men här blir metoden
%  tydligare beskriven på det sättet.

traff=0;             % denna variabel skall hålla reda på hur många av de 
                    % slumpmässigt valda punkterna som träffar mängden

for i=1:N
  xy = rand(1,2);   % rand(n,m) fyller en nxm-matris med tal, likformigt 
                    % fördelade i intervallet (0,1)
  xi=xy(1);
  yi=xy(2);         % detta är bara för att dela upp de båda komponenterna
  
  plot([xi],[yi],'.')
  
  if ( (xi-0.5)^2+(yi-0.5)^2 < 0.25 )
    traff = traff +1;  % om punkten (xi,yi) ligger i mängden ökas träffräknaren
  end
  
end


apprarea = traff / N;

disp('Arean är ungefär')
disp(apprarea)

% Sen skall detta förstås köras många gånger för att man skall
% se hur bra resultat man kan få. Det kan automatiseras med ytterligare en 
% loop, om man vill


