C# 计算总体上的概率
这个标题可能无法描述我实际上想做什么,因为我不确定它到底叫什么 我试图用c来计算一个总体的结果,其中总体中的每个项目都有被选中的概率。例如,假设有10个人,有10%的几率任何给定的人都会被选中。因此,对于结果1,可能会选择3人,但对于结果2,可能会选择0人 我了解如何计算10%几率的1人的结果:C# 计算总体上的概率,c#,probability,C#,Probability,这个标题可能无法描述我实际上想做什么,因为我不确定它到底叫什么 我试图用c来计算一个总体的结果,其中总体中的每个项目都有被选中的概率。例如,假设有10个人,有10%的几率任何给定的人都会被选中。因此,对于结果1,可能会选择3人,但对于结果2,可能会选择0人 我了解如何计算10%几率的1人的结果: Random r = new Random(); double v = r.nextDouble(); if (v <= 0.10) { return 1; } return 0; 但是在给定
Random r = new Random();
double v = r.nextDouble();
if (v <= 0.10) { return 1; }
return 0;
但是在给定的人群中,我该怎么做呢?如果你想从人群中抽取10%的人, 给定一个人员列表,您可以选择其中一些人员,如下所示:
Random r = new Random();
List< Person > population;
// fill the population list
var selectedPopulation = population.Where( x=> r.nextDouble() < 0.1 ).ToList();
据我所知,你想要一个函数,它接受一个总体大小,一个给定的单个事件概率,并提供一个随机结果 比如:
public int Outcome(int p, int n){
var random = new Random();
int count = 0;
int rnd = 0;
for (var i = 0; i < n; i++)
{
rnd = random.Next(0, 100);
if (rnd <= p) count++;
}
return count;
}
其中,p是单个事件的概率,在您的示例中为10,n是总体规模,在您的示例中为10。不过,不是下行投票人考虑的。这似乎还不是一个编程问题。这是一个数学问题,有一些代码解释你在做什么。我投票结束这个问题,因为它是关于计算概率的,这是一个数学问题,而不是一个编程问题。对我来说似乎是一个代码问题,因为我是用cSure写的,但大多数数学问题都可以用给定的语言编码。首先你需要理解数学,一个数学问题,然后如果你遇到麻烦,你可以问一下如何在代码中实现它。这不正是我正在做的吗?我在计算人口时遇到了麻烦
public int Outcome(int p, int n){
var random = new Random();
int count = 0;
int rnd = 0;
for (var i = 0; i < n; i++)
{
rnd = random.Next(0, 100);
if (rnd <= p) count++;
}
return count;
}