Monte Carlo methods: Difference between revisions

Content deleted Content added
Steenslag (talk | contribs)
Line 1,174: Line 1,174:


=={{header|Julia}}==
=={{header|Julia}}==
{{works with|Julia|0.6}}
<lang julia>function montepi(n)

s = 0
<lang julia>function monteπ(n)
for i = 1:n
s += rand()^2 + rand()^2 < 1
s = count(rand() ^ 2 + rand() ^ 2 < 1 for _ in 1:n)
end
return 4s / n
end
return 4*s/n

for n in 10 .^ (3:8)
p = monteπ(n)
println("$(lpad(n, 9)): π ≈ $(lpad(p, 10)), pct.err = ", @sprintf("%2.5f%%", abs(p - π) / π))
end</lang>
end</lang>

{{out}}
{{out}}
<pre> 1000: π ≈ 3.224, pct.err = 0.02623%
<pre>
10000: π ≈ 3.1336, pct.err = 0.00254%
julia> for n in 10.^(3:8)
p = montepi(n)
100000: π 3.13468, pct.err = 0.00220%
1000000: π ≈ 3.14156, pct.err = 0.00001%
println("$n: π ≈ $p, |error| = $(abs(p-π))")
10000000: π ≈ 3.1412348, pct.err = 0.00011%
end
1000: π ≈ 3.188, |error| = 0.04640734641020705
100000000: π ≈ 3.14123216, pct.err = 0.00011%</pre>
10000: π ≈ 3.128, |error| = 0.013592653589793002
100000: π ≈ 3.1446, |error| = 0.003007346410206946
1000000: π ≈ 3.14242, |error| = 0.000827346410206875
10000000: π ≈ 3.1413596, |error| = 0.00023305358979319735
100000000: π ≈ 3.1417196, |error| = 0.00012694641020694064
</pre>


=={{header|K}}==
=={{header|K}}==