Как вычислить вероятность события, происходящего в данном количестве испытаний в C#
Сообщение объясняет, как рассчитать вероятность события, происходящего в определенном количестве испытаний. В нем объясняется, что если событие имеет вероятность P, возникающее в каждом испытании, то после N испытаний вероятность того, что по крайней мере одно исследование привело к событию, равно 1 - (1 - P) N sup>. р>
В этом примере используется следующий код для перечисления вероятностей события после заданного количества испытаний.
// Вычислить и отобразить вероятности.
private void btnGo_Click(object sender, EventArgs e)
{
// См., Если вероятность содержит знак%.
bool percent = txtEventProb.Text.Contains("%");
// Получите вероятность события.
double event_prob =
double.Parse(txtEventProb.Text.Replace("%", ""));
// Если мы используем проценты, разделите их на 100.
if (percent) event_prob /= 100.0;
// Получить вероятность того, что событие не произойдет.
double non_prob = 1.0 - event_prob;
lvwResults.Items.Clear();
for (int i = 0; i <= 100; i++)
{
double prob = 1.0 - Math.Pow(non_prob, i);
ListViewItem new_item = lvwResults.Items.Add(i.ToString());
if (percent)
{
prob *= 100.0;
new_item.SubItems.Add(prob.ToString("0.0000") + "%");
}
else
{
new_item.SubItems.Add(prob.ToString("0.000000"));
}
}
}
Сначала код определяет, содержит ли вероятность, введенная пользователем, символ%. Если да, то программа отображает свой результат в процентах. В противном случае предполагается, что вероятности вводятся как десятичные значения менее 1.
Затем код анализирует вероятность, введенную пользователем, и преобразует ее в значение, меньшее 1, если это процент.
Код вычитает вероятность из 1, чтобы получить вероятность события not , а затем входит в цикл. Для i = 0 до 100 программа вычисляет 1 минус вероятность того, что событие не встречается в i-й степени, при необходимости преобразует результат в процент и отображает результат в элементе управления ListView. Tt> ListView. р>
