当我将isWinDefault替换为isWinConfidence时,结果差异很大。我觉得它们应该是相同的。我的代码有bug还是我误解了统计学的某些属性?
这个测试旨在模拟抛一次硬币与多次抛硬币的情况。
问题是:
如果P(x)为70%,那么p(x)*100是否应该在70%的时间内大于或等于70?
谢谢。
这个测试旨在模拟抛一次硬币与多次抛硬币的情况。
问题是:
如果P(x)为70%,那么p(x)*100是否应该在70%的时间内大于或等于70?
谢谢。
private void TestWin()
{
double headsUp = 0;
double testRuns = 100;
for (double i = 0; i < testRuns; i++)
{
if (IsWinConfidence())
{
headsUp++;
}
}
label1.Text = "Probability of Heads is " + headsUp /testRuns;
}
private bool IsWinDefault()
{
if (r.NextDouble() <= .7)
{
return true;
}
return false;
}
private bool IsWinConfidence()
{
int headsCount = 0;
for (double x = 0; x < 100; x++)
{
if (IsWinDefault())
headsCount++;
}
double pHeadsCount = headsCount / 100d;
if (pHeadsCount >= .7 )
{
return true;
}
else
{
return false;
}
}
r
(例如r.NextDouble()
)是什么。 - devuxer