function p = montepi(samples) in_circle = 0; for samp = 1:samples v = [ unifrnd(-1,1), unifrnd(-1,1) ]; if ( v*v.' <= 1.0 ) in_circle++; endif endfor p = 4*in_circle/samples; endfunction l = 1e4; while (l < 1e7) disp(montepi(l)); l *= 10; endwhile