问题标签 [montecarlo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
6669 浏览

c++ - 介绍 C++ 和蒙特卡洛方法

所以我刚开始接触编程,我不得不说这是我做过的最有成就感但最令人沮丧的事情。我正在承担难度越来越大的项目,其中最近的项目涉及使用蒙特卡洛方法和大量循环。以下是目前完成的代码:

所以我想我的主要问题是我遇到了关于在“运行模拟”下面设置 for 循环的问题的内部 for 循环从查询随机值中得出可接受结果范围内的随机数。有人告诉我,这个想法是使用蒙特卡洛方法,即

所以程序将为流入创建一个随机值。这个想法是内部 for 循环将继续运行,直到从 0 开始的水库的填充水平达到水库容量。模拟多少年的过程(内部for循环的每次迭代代表一年)要由fill_level模拟for循环的父for循环重复10次。

当我尝试运行您在此处看到的程序时,它会一直运行到“运行模拟”,然后它不会继续进行。是否有比我更有经验的人理解我在说什么并知道发生了什么?

0 投票
1 回答
97 浏览

video - 高级视频分析 - 如何咬它?

我需要做一个应用程序:

  • 从摄像机捕获视频数据,
  • 做一些处理(蒙特卡洛方法,马尔科夫场和链等),
  • 将数据保存为视频文件,上表面包含有关处理的信息(例如,将标记找到的对象),
  • 将所有内容(不是视频本身,而是对象的位置等)保存到数据库中,以便将来进行统计管理。

所有这些都需要实时、连续地完成。

我是数据库程序员(C#、Java、Python),所以这对我来说是新事物......选择什么语言以及如何开始,据说我对需要完成的处理非常了解,但只是理论上 - 我知道步骤、计算……只需要一个工具。

0 投票
2 回答
1655 浏览

montecarlo - 球体上的蒙特卡罗模拟:无偏随机步骤

我正在用球体上的粒子进行 Metropolis Monte Carlo 模拟,并且对给定时间步长内的随机运动有疑问。

我知道要在球体上获得均匀分布的随机点,首先使用天真的最简单的方法是不够的(使用具有恒定 R 的球面坐标并选择随机角度 theta 和 phi),但必须例如使用这些方法之一:http: //mathworld.wolfram.com/SpherePointPicking.html

查看球体上蒙特卡洛的另一个代码,我看到了一种相当复杂的生成随机移动的方法:选择一个随机粒子,计算将其移动到北极的旋转矩阵,找到一个小于一定长度的随机笛卡尔向量并移动将其指向北极,对笛卡尔向量进行归一化,然后将其旋转回原始粒子位置附近。

这一切都是为了得到一个无偏的新随机位置。尽管我怀疑它与详细的平衡有关,但我并不完全理解其中的原理。但我的感觉是应该有一种更简单(即更快)的方法来做到这一点。实际上,直觉上我觉得在这种情况下可以找到两个小的随机角度 theta 和 phi 并将它们添加到粒子的位置 - 或者这会是一个错误吗?

0 投票
1 回答
677 浏览

ruby - Ruby 中的二十一点模拟会产生奇怪的概率

下面是模拟一个简单的二十一点游戏的代码。玩家和庄家(房子)抽两张牌。玩家然后击牌直到他达到 17。庄家(房子)然后击球直到他与玩家平局或破产。考虑到玩家先玩,他获胜的几率对于任何策略都应该低于 50%。然而,由于某种原因,当我重复模拟时,玩家似乎赢得了超过 50% 的时间。我的代码中一定有一些错误给了我这个结果。

0 投票
0 回答
49 浏览

simulation - 如何从未知的空间过程中生成样本?

广场上有一些未知的空间过程。如果我只有点之间的平均距离分布 - 任何通用模型或简单的想法,如何在正方形上生成点的随机样本?如果我有这种过程的一些实现的距离矩阵〜500个观察结果会有用吗(实现过程的点之间的距离矩阵)?

时间维度在这里没有用,我没有关于这个过程的任何时间数据。

0 投票
2 回答
2375 浏览

montecarlo - .net 中用于蒙特卡罗模拟的可靠且快速的伪随机数生成器 (PRNG)

我使用伪随机数生成器 (PRNG) 来蒙特卡罗模拟排队类型的系统。我使用 System.Random,因为它很快,但发现它在随后的抽奖之间有一些奇怪的相关性,这会干扰结果(它不够随机)。

现在我正在使用 Mersenne Twister (http://takel.jp/mt/MersenneTwister.cs),它(到目前为止)已被证明对于我的目的来说足够随机。它慢了 50%,但这是我愿意为获得可靠结果而付出的代价。

.net 的什么 PRNG 最适合蒙特卡洛模拟?我正在寻找一个不太慢的可靠 PRNG。

0 投票
1 回答
904 浏览

c++ - 蒙特卡罗 C++ 中标准差的通用函数

我应该在一些蒙特卡罗模拟中计算标准偏差函数。公式是这样的: 在此处输入图像描述

我认为我的结果与应有的结果相去甚远。我的函数使用来自 boost 库的元组,它看起来像这样:

  1. 任何人都可以在这里看到任何错误吗?
  2. 此外,STL 库中有“累积”功能 - 是否存在累积平方(容器成员)?
0 投票
3 回答
19464 浏览

python - Python中的蒙特卡罗方法

我一直在尝试使用 Python 创建一个脚本,该脚本可以让我生成大量点,以用于 Monte Carlo 方法来计算对 Pi 的估计。我到目前为止的脚本是这样的:

到目前为止,我能够生成我需要的所有点,但我想得到的是运行脚本时产生的点数,以供以后计算使用。我不是在寻找令人难以置信的精确结果,只是一个足够好的估计。任何建议将不胜感激。

0 投票
2 回答
1835 浏览

c - Code::blocks 最大迭代次数

可能重复:
C 中的最大数组大小

我的问题是: Code::blocks 是否有循环的最大迭代次数?

我正在运行蒙特卡罗,我想通过 for 循环运行一百万个粒子。但它似乎没有崩溃的最大值是 110000。

谢谢!

更多信息:

我正在使用按时间播种的随机数生成器:

然后我想创建一百万个粒子(随机)

其中M = Num / 10(我想#define N 1000000)

这是我唯一能想到的就是制造问题?

这是一个不起作用的示例代码。

这可能是由于我的 Code::blocks 设置造成的吗?

0 投票
1 回答
1055 浏览

r - 在 R 中使用嵌套循环加速蒙特卡罗模拟

我想加快 DEA 估计的以下蒙特卡罗模拟

一旦 A 变大,模拟就会冻结。我从在线研究中了解到,apply 函数可以快速加速此类代码,但不确定如何在上述过程中使用它。

任何帮助/方向将不胜感激

巴里