蒙特卡洛皮(Monte Carlo Pi)不准确

相信我

我的Monte Carlo Pi程序无法正确计算。基本上,pi仅在此刻仅显示最多2个小数点,并且我认为计算出了问题,因为随着数值的增加,最近的pi计算为2.98-3.04。

我的代码粘贴在下面。

static void Main(string[] args)
{
    double n;
    double count;
    double c = 0.0;
    double x = 0.0, y = 0.0;
    double pi;
    string input;

    Console.WriteLine("Please input a number of dots for Monte Carlo to calculate pi.");
    input = Console.ReadLine();
    n = double.Parse(input);

    Random rand = new Random();


    for (int i = 1; i < n; i++ )
    {
        x = rand.Next(-1, 1);
        y = rand.Next(-1, 1);

        if (((x * x) + (y * y) <= 1))
            c++;
        pi = 4.0 * ( c / i );
        Console.WriteLine("pi: {0,-10:0.00} Dots in square: {1,-15:0} Dots in circle: {2,-20:0}", pi, i, c);
    }
}
尼科·谢特勒(Nico Schertler)

这些电话

x = rand.Next(-1, 1);
y = rand.Next(-1, 1);

给你一个整数。但是您需要doubles

x = rand.NextDouble() * 2 - 1;
y = rand.NextDouble() * 2 - 1;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

$ \ pi $的蒙特卡洛估计

来自分类Dev

使用蒙特卡洛的rand()方法查找“ pi”

来自分类Dev

在简单的Java中对Pi进行蒙特卡洛模拟?

来自分类Dev

python,乌龟,pi和蒙特卡洛

来自分类Dev

在Fortran中使用蒙特卡洛方法估算pi

来自分类Dev

蒙特卡洛在多个线程上计算Pi

来自分类Dev

使用蒙特卡洛的rand()方法查找“ pi”

来自分类Dev

固定x的蒙特卡洛pi方法

来自分类Dev

用于基于蒙特卡洛的Pi计算的Python有效矢量化

来自分类Dev

在C ++ OpenMP中使用蒙特卡洛方法以两种方式计算pi

来自分类Dev

使用线程的蒙特卡洛方法在Java中计算Pi

来自分类Dev

Scala中Pi的Monte Carlo计算

来自分类Dev

使用Monte Carlo方法并行计算Pi

来自分类Dev

在Python Monte Carlo方法中使用Gamma函数估算pi

来自分类Dev

R中的蒙特卡洛模拟

来自分类Dev

蒙特卡洛人口实施

来自分类Dev

蒙特卡洛模拟python

来自分类Dev

了解蒙特卡洛树搜索

来自分类Dev

N骰子的蒙特卡洛模拟

来自分类Dev

Python中的蒙特卡洛

来自分类Dev

蒙特卡洛模拟python

来自分类Dev

R中的蒙特卡洛模拟

来自分类Dev

pi的scala monte carlo估计量(尽可能短)

来自分类Dev

使用Java中随机生成的数据进行pi的Monte Carlo计算

来自分类Dev

pi的scala monte carlo估计量(尽可能短)

来自分类Dev

MCNP蒙特卡洛模拟的开源替代方案

来自分类Dev

蒙特卡洛模拟无法识别连通图

来自分类Dev

使用蒙特卡洛方法计算n球的体积

来自分类Dev

从甲板上抽牌进行蒙特卡洛扑克模拟