std::geometric_distribution
Материал из cppreference.com
|
|
Эта страница была переведена автоматически с английской версии вики используя Переводчик Google. Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Щёлкните здесь, чтобы увидеть английскую версию этой страницы. (Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке.) |
<metanoindex/>
<tbody> </tbody>| Определено в заголовочном файле <random>
|
||
template< class IntType = int > class geometric_distribution; |
(начиная с C++11) | |
Производит случайное неотрицательное целое число i значений, распределенных в соответствии с дискретной функции вероятности
Оригинал:
Produces random non-negative integer values i, distributed according to discrete probability function:
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
- P(i|p) = p · (1 − p)i
Значение представляет собой количество да / нет исследований (каждый последующий с вероятностью p), необходимых для получения одного успеха.
Оригинал:
The value represents the number of yes/no trials (each succeeding with probability p) which are necessary to obtain a single success.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
std::geometric_distribution<>(p) в точности эквивалентен std::negative_binomial_distribution<>(1, p). Он также является дискретным аналогом std::exponential_distribution.Оригинал:
std::geometric_distribution<>(p) is exactly equivalent to std::negative_binomial_distribution<>(1, p). It is also the discrete counterpart of std::exponential_distribution.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Типы-члены
| Тип члена | Определение |
result_type
|
IntType
|
param_type
|
Тип набора параметров, не указано
Оригинал: the type of the parameter set, unspecified Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
Функции-члены
строит новые распределения Оригинал: constructs new distribution Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (public функция-элемент) | |
сбрасывает внутреннее состояние распределения Оригинал: resets the internal state of the distribution Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (public функция-элемент) | |
Оригинал: Generation Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. | |
(C++11) |
генерирует следующее случайное число в распределении (public функция-элемент) |
Оригинал: Characteristics Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. | |
возвращает р параметр распределения (вероятность true генерирующих судебное разбирательство) Оригинал: returns the p distribution parameter (probability of a trial generating true) Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (public функция-элемент) | |
получает или задает объект распределения параметра Оригинал: gets or sets the distribution parameter object Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (public функция-элемент) | |
возвращает минимальное потенциально сгенерированное значение Оригинал: returns the minimum potentially generated value Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (public функция-элемент) | |
возвращает максимальное потенциально сгенерированное значение Оригинал: returns the maximum potentially generated value Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (public функция-элемент) | |
Функции, не являющиеся членами
(C++11)(C++11)(удалено в C++20) |
сравнивает два объекта распределения (функция) |
|
выполняют потоковый вывод/ввод для объекта распределения псевдослучайных чисел |
Пример
geometric_distribution <> (0,5) по умолчанию и представляет собой число бросков монеты, которые требуются, чтобы получить голову
Оригинал:
geometric_distribution<>(0.5) is the default and represents the number of coin tosses that are required to get heads
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Запустить этот код
#include <iostream>
#include <iomanip>
#include <string>
#include <map>
#include <random>
int main()
{
std::random_device rd;
std::mt19937 gen(rd());
std::geometric_distribution<> d; // same as std::negative_binomial_distribution<> d(1, 0.5);
std::map<int, int> hist;
for(int n=0; n<10000; ++n) {
++hist[d(gen)];
}
for(auto p : hist) {
std::cout << p.first <<
' ' << std::string(p.second/100, '*') << '\n';
}
}
Вывод:
0 *************************************************
1 *************************
2 ************
3 ******
4 **
5 *
6
7
8
9
10
11
Внешние ссылки
Weisstein, Eric W. "Geometric Distribution." С MathWorld - Ресурс Wolfram Web.
Оригинал:
Weisstein, Eric W. "Geometric Distribution." From MathWorld--A Wolfram Web Resource.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.