二维正态分布c++

2d normal distribution c++

本文关键字:正态分布 c++ 二维      更新时间:2023-10-16

编辑:4年后

如果有人在这里遇到类似的问题,no我从来没有设法让我满意地解决这个问题。

如果你在理解问题是什么时遇到问题,这与我的恐惧有关,即使用极坐标在二维平面上围绕中心生成正态分布时遇到的扭曲类似于使用极坐标在点周围生成圆中点的均匀分布时遇到的扭曲。我所指的失真见这里。

对我来说,解决方案只是和我的客户讨论他们到底想要什么,对他们来说,更重要的是确保距离是正确的,然后确保分布是正确的,考虑到我们当时的最后期限,这意味着它的结束。


原文如下:

所以,我的数学知识仅限于3年前的高中文凭,所以我想这个问题以前已经被回答过了,但不是用我能理解的方式。

我被要求采用我们公司使用的一种算法,该算法以前在一个圆内生成均匀分布的2d点,其中一种算法从中心点生成正态分布内的点。

以前我一直使用这种方法来计算一个点的x和y值,当它是均匀分布时,boost是我对c#随机生成算法的代表。

我真的很感激这里的任何帮助,最好使用boost(获得新的外部库批准在这里使用是一个痛苦),正如我所说的,我的数学技能相当可怕,所以即使有人能给我指出一些关于这个问题的其他帖子的方向,用一些外行人的术语让我在那里,那将是伟大的。

从问题陈述来看,我直觉地认为X和y都是正态分布

但是由于注释线程似乎暗示这不是预期的-让我猜猜的预期:

也许你正在寻找与距离到中心形成正态分布的点

在这种情况下,以矢量形式查看问题:

  • 用单正态分布表示距离分布
  • 使用均匀分布选择角度[0,360)度

现在是花园三角学从中心+矢量计算目标点