Monte Carlo methods: Difference between revisions
Content deleted Content added
Line 1,174: | Line 1,174: | ||
=={{header|Julia}}== |
=={{header|Julia}}== |
||
{{works with|Julia|0.6}} |
|||
⚫ | |||
s = 0 |
|||
⚫ | |||
for i = 1:n |
|||
s = count(rand() ^ 2 + rand() ^ 2 < 1 for _ in 1:n) |
|||
return 4s / n |
|||
end |
|||
return 4*s/n |
|||
⚫ | |||
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% |
|||
⚫ | |||
100000: π ≈ 3.13468, pct.err = 0.00220% |
|||
⚫ | |||
println("$n: π ≈ $p, |error| = $(abs(p-π))") |
|||
⚫ | |||
end |
|||
100000000: π ≈ 3.14123216, pct.err = 0.00011%</pre> |
|||
10000: π ≈ 3.128, |error| = 0.013592653589793002 |
|||
100000: π ≈ 3.1446, |error| = 0.003007346410206946 |
|||
⚫ | |||
⚫ | |||
100000000: π ≈ 3.1417196, |error| = 0.00012694641020694064 |
|||
</pre> |
|||
=={{header|K}}== |
=={{header|K}}== |