Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 基于几何分布的随机数发生器_C#_.net_Random_Distribution_Mathnet Numerics - Fatal编程技术网

C# 基于几何分布的随机数发生器

C# 基于几何分布的随机数发生器,c#,.net,random,distribution,mathnet-numerics,C#,.net,Random,Distribution,Mathnet Numerics,我需要一个使用几何分布的随机数生成器 我尝试了MathNet.Numerics.Distributions: public void GeometricTest() { var geometric = new Geometric(0.1); int back = geometric.Sample(); Assert.Greater(back, -1); } 但是测试给出的只是负数。是否有人发现了我的错误或给了我关于几何分布抽样的其他方法的建议?要生成每次试验成功概率p

我需要一个使用几何分布的随机数生成器

我尝试了
MathNet.Numerics.Distributions

public void GeometricTest()
{
    var geometric = new Geometric(0.1);
    int back = geometric.Sample();
    Assert.Greater(back, -1);
}

但是测试给出的只是负数。是否有人发现了我的错误或给了我关于几何分布抽样的其他方法的建议?

要生成每次试验成功概率
p
的几何分布,给定一个返回统一(0,1)结果的函数
rand
,伪代码是:

define geometric(p)
  return ceiling(ln(1-rand) / ln(1-p))

这会产生多少次试验,直到第一次成功。如果您想要几何图形的替代定义(第一次成功之前有多少次失败)减去1或使用
floor
而不是
天花

,没有时间深入研究它,但这可能会回答您的问题:您能展示示例函数的实现吗?感谢您为我指出错误。新版本显然还没有在nuGet上发布。也许,我只是添加了一个减号……这在v3.0.0-alpha8中得到了修复,并且也包含在NuGet上的v3.0.0-beta01包中(截至今天最新版本)。在v3.0最终版之前,NuGet仅在启用了预发布包的情况下才会列出它们