Как вычислить вероятность события, происходящего в данном количестве испытаний в C#

Сообщение Понять вероятности несвязанных событий (и избежать зомби) объясняет, как рассчитать вероятность события, происходящего в определенном количестве испытаний. В нем объясняется, что если событие имеет вероятность P, возникающее в каждом испытании, то после N испытаний вероятность того, что по крайней мере одно исследование привело к событию, равно 1 - (1 - P) N .

В этом примере используется следующий код для перечисления вероятностей события после заданного количества испытаний.

// Вычислить и отобразить вероятности.
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. ListView. р>

Источник: http://csharphelper.com/blog/2017/05/calculate-the-probability-of-an-event-occurring-in-a-given-number-of-trials-in-c/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Adblock
detector