蒙特卡洛模拟稳定性的代码c++
时间: 2023-10-18 14:18:13 浏览: 170
蒙特卡洛模拟代码
以下是一个简单的蒙特卡洛模拟稳定性的 C++ 代码示例:
```c++
#include <iostream>
#include <random>
using namespace std;
double monte_carlo_simulation(int n)
{
default_random_engine generator;
uniform_real_distribution<double> distribution(0.0, 1.0);
int count = 0;
for (int i = 0; i < n; i++)
{
double x = distribution(generator);
double y = distribution(generator);
if (x * x + y * y <= 1)
{
count++;
}
}
return 4.0 * count / n;
}
int main()
{
int N = 10000000;
double pi = monte_carlo_simulation(N);
cout << "Pi is approximately " << pi << endl;
return 0;
}
```
该代码使用了 C++ 标准库中的 `default_random_engine` 和 `uniform_real_distribution` 类来生成均匀分布的随机数。它模拟了在单位圆内随机抽取点的过程,并计算了落在圆内的点数。最终,它使用蒙特卡洛方法估算了圆的面积,从而计算出了 π 的近似值。
在该代码中,`n` 参数表示模拟抽取的点数。可以通过增加 `n` 的值来提高估计的精度。
阅读全文