繁体   English   中英

Math.Net如何生成指数分布随机数的向量

[英]Math.Net how to generate vector of exponential distribution random numers

我试图生成指数分布的随机数。 我找到了Math.NET NuGet包。 它看起来不错,但我无法弄清楚如何生成这类数据的向量。

我已经包含了参考文献并尝试过类似的东西(受官方网站启发) - 我知道Uniform不会生成指数值:

 Generate.Uniform(100);

但是我得到:“生成在当前环境中不存在。”

我也尝试过:

 Random rnd= new Random();
 double[] samples;
 double lambda = 0.1;
 Exponential.Samples(rnd, samples,lambda); 

在这里,我得到“无效的表达式术语”)'“和”;期望“在最后一行。

Samples函数需要已经分配数组,因此您可以重复使用它。 它将填满整个阵列。

Random rnd = new Random();
double lambda = 0.1;

double[] samples = new double[200];
Exponential.Samples(rnd, samples, lambda);

但是,你已经要求一个向量,而不是一个数组:

Vector<double> v = CreateVector.Random<double>(200, new Exponential(lambda, rnd));

您遇到的错误是与Math.NET Numerics无关的C#语法错误(并且不会出现在您实际发布的代码中)。 对于Generate您需要打开MathNet.Numerics命名空间。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM