std::exponential_distribution
Материал из cppreference.com
![]() | Эта страница была переведена автоматически с английской версии вики используя Переводчик Google. Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Щёлкните здесь, чтобы увидеть английскую версию этой страницы. (Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке.) |
Определено в заголовочном файле <random> | ||
template<class RealType =double> class exponential_distribution; | (начиная с C++11) | |
Производит случайных неотрицательных значений с плавающей точкой x, распределенных в соответствии с вероятностной функции плотности
Оригинал:
Produces random non-negative floating-point values x, distributed according to probability density function:
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
- P(x|λ) = λe-λx
Полученное значение времени / расстояния до следующего случайного события, если случайные события происходят с постоянной скоростью λ в единицу времени / расстояния. Например, это распределение описывает времени между щелчками счетчика Гейгера или расстояние между точечных мутаций в ДНК.
Оригинал:
The value obtained is the time/distance until the next random event if random events occur at constant rate λ per unit of time/distance. For example, this distribution describes the time between the clicks of a Geiger counter or the distance between point mutations in a DNA strand.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Это непрерывный аналог std::geometric_distribution
Оригинал:
This is the continuous counterpart of std::geometric_distribution
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
[править]Типы-члены
Тип члена | Определение |
result_type | RealType |
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. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. | |
возвращает' лямбда распределения параметров (скорость событий) Оригинал: returns the lambda distribution parameter (rate of events) Текст был переведён автоматически используя Переводчик 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) | сравнивает два объекта распределения (функция) |
выполняют потоковый вывод/ввод для объекта распределения псевдослучайных чисел |
[править]Пример
Запустить этот код
#include <iostream>#include <iomanip>#include <string>#include <map>#include <random>int main(){std::random_device rd;std::mt19937 gen(rd()); // if particles decay once per second on average,// how much time, in seconds, until the next one? std::exponential_distribution<> d(1); std::map<int, int> hist;for(int n=0; n<10000;++n){++hist[2*d(gen)];}for(auto p : hist){std::cout<<std::fixed<<std::setprecision(1)<< p.first/2.0<<'-'<<(p.first+1)/2.0<<' '<<std::string(p.second/200, '*')<<'\n';}
Вывод:
0.0-0.5 ******************* 0.5-1.0 *********** 1.0-1.5 ******* 1.5-2.0 **** 2.0-2.5 ** 2.5-3.0 * 3.0-3.5 3.5-4.0
[править]Внешние ссылки
Weisstein, Eric W. "Exponential Distribution." С MathWorld - Ресурс Wolfram Web.
Оригинал:
Weisstein, Eric W. "Exponential Distribution." From MathWorld--A Wolfram Web Resource.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.