Data update
This commit is contained in:
parent
4d5544505c
commit
4924dd0264
3073 changed files with 55820 additions and 4408 deletions
20
Task/Monte-Carlo-methods/DuckDB/monte-carlo-methods.duckdb
Normal file
20
Task/Monte-Carlo-methods/DuckDB/monte-carlo-methods.duckdb
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
create or replace function mcPi(n) as (
|
||||
with recursive cte as (
|
||||
select -1 as i, 0 as count, NULL::DOUBLE as x, NULL::DOUBLE as y
|
||||
union all
|
||||
select i+1 as i,
|
||||
count + if( x*x + y*y <= 1, 1, 0) as count,
|
||||
random() as x,
|
||||
random() as y
|
||||
from cte
|
||||
where i < n
|
||||
)
|
||||
select last( 4 * count / n order by i)
|
||||
from cte
|
||||
);
|
||||
|
||||
# Examples:
|
||||
|
||||
select n, mcPi, format('{:.5f}', (mcPi - pi()) / pi()) as "relative error"
|
||||
from (select n, mcPi(n) as mcPi
|
||||
from (select unnest([100, 1000, 10000, 100000, 200000]) as n));
|
||||
Loading…
Add table
Add a link
Reference in a new issue