std :: uniform_int_distribution a () в C ++ с примерами
Метод a () класса uniform_int_distribution в C ++ используется для получения нижней границы этого uniform_int_distribution. Если нижняя граница отсутствует, этот метод возвращает 0.
result_type a () const;
Параметры: этот метод не принимает никаких параметров.
Возвращаемое значение: этот метод возвращает параметр «a» в распределении, который является нижней границей или минимально возможным сгенерированным значением в этом распределении uniform_int_distribution. Его значение по умолчанию — 0.
numpy.random.uniform#
Samples are uniformly distributed over the half-open interval [low, high) (includes low, but excludes high). In other words, any value within the given interval is equally likely to be drawn by uniform .
New code should use the uniform method of a Generator instance instead; please see the Quick Start .
Parameters : low float or array_like of floats, optional
Lower boundary of the output interval. All values generated will be greater than or equal to low. The default value is 0.
high float or array_like of floats
Upper boundary of the output interval. All values generated will be less than or equal to high. The high limit may be included in the returned array of floats due to floating-point rounding in the equation low + (high-low) * random_sample() . The default value is 1.0.
size int or tuple of ints, optional
Output shape. If the given shape is, e.g., (m, n, k) , then m * n * k samples are drawn. If size is None (default), a single value is returned if low and high are both scalars. Otherwise, np.broadcast(low, high).size samples are drawn.
Returns : out ndarray or scalar
Drawn samples from the parameterized uniform distribution.
Discrete uniform distribution, yielding integers.
Discrete uniform distribution over the closed interval [low, high] .
Floats uniformly distributed over [0, 1) .
Convenience function that accepts dimensions as input, e.g., rand(2,2) would generate a 2-by-2 array of floats, uniformly distributed over [0, 1) .
which should be used for new code.
The probability density function of the uniform distribution is
anywhere within the interval [a, b) , and zero elsewhere.
>>> x = np.float32(5*0.99999999) >>> x 5.0
Draw samples from the distribution:
>>> s = np.random.uniform(-1,0,1000)
All values are within the given interval:
>>> np.all(s >= -1) True >>> np.all(s 0) True
Display the histogram of the samples, along with the probability density function:
>>> import matplotlib.pyplot as plt >>> count, bins, ignored = plt.hist(s, 15, density=True) >>> plt.plot(bins, np.ones_like(bins), linewidth=2, color='r') >>> plt.show()
std :: uniform_int_distribution b () метод в C ++ с примерами
Метод b () класса uniform_int_distribution в C ++ используется для получения верхней границы этого uniform_int_distribution. Если верхней границы нет, этот метод возвращает std :: numeric_limits :: max () .
result_type b () const;
Параметры: этот метод не принимает никаких параметров.
Возвращаемое значение: этот метод возвращает параметр «b» в распределении, который является верхней границей или максимально возможным сгенерированным значением в этом распределении uniform_int_distribution. Его значение по умолчанию — std :: numeric_limits :: max ().
Класс uniform_real_distribution
Формирует равномерное распределение (каждое значение одинаково вероятно) чисел с плавающей запятой в выходном диапазоне, который является включающим и исключающим.
Синтаксис
template class uniform_real_distribution < public: // types typedef RealType result_type; struct param_type; // constructors and reset functions explicit uniform_real_distribution( result_type a = 0.0, result_type b = 1.0); explicit uniform_real_distribution(const param_type& parm); void reset(); // generating functions template result_type operator()(URNG& gen); template result_type operator()(URNG& gen, const param_type& parm); // property functions result_type a() const; result_type b() const; param_type param() const; void param(const param_type& parm); result_type min() const; result_type max() const; >;
Параметры
RealType
По умолчанию тип с плавающей запятой имеет тип double . Сведения о возможных типах см порядке.
Замечания
Шаблон класса описывает инклюзивное эксклюзивное распределение, которое создает значения заданного пользователем целочисленного типа с плавающей запятой с распределением таким образом, чтобы каждое значение было одинаково вероятным. В следующей таблице представлены ссылки на статьи об отдельных членах.
Член свойства a() возвращает текущее хранимое минимальное значение распределения, а b() возвращает текущее хранимое максимальное значение. Для этого класса распределения эти минимальные и максимальные значения совпадают с значениями, возвращаемыми общими функциями свойств и max() описанными в случайном>
Член свойства param() устанавливает или возвращает хранимый пакет параметров распределения param_type .
Функции-члены min() и max() возвращают наименьший и наибольший из возможных результатов соответственно.
Функция-член reset() удаляет любые кэшированные значения, чтобы результат следующего вызова operator() не зависел от любых значений, полученных от механизма перед вызовом.
Функции-члены operator() возвращают следующее значение, созданное механизмом РГСЧ, из текущего или указанного пакета параметров.
Дополнительные сведения о классах распространения и их членах см. в случайном порядке>.
Пример
// compile with: /EHsc /W4 #include #include #include #include #include void test(const double a, const double b, const int s) < // uncomment to use a non-deterministic seed // std::random_device rd; // std::mt19937 gen(rd()); std::mt19937 gen(1729); std::uniform_real_distribution<>distr(a,b); std::cout histogram; for (int i = 0; i < s; ++i) < ++histogram[distr(gen)]; >// print results std::cout std::cout int main() < double a_dist = 1.0; double b_dist = 1.5; int samples = 10; std::cout > a_dist; std::cout > b_dist; std::cout > samples; test(a_dist, b_dist, samples); >
Use CTRL-Z to bypass data entry and run using default values. Enter a floating point value for the lower bound of the distribution: 0 Enter a floating point value for the upper bound of the distribution: 1 Enter an integer value for the sample count: 10 lower bound == 0 upper bound == 1 Distribution for 10 samples: 1: 0.0288609485 2: 0.2007994386 3: 0.3027480117 4: 0.4124758695 5: 0.4413777133 6: 0.4846447405 7: 0.6225745916 8: 0.6880935217 9: 0.7541936723 10: 0.8795716566
Требования
Заголовок:
Пространство имен: std
uniform_real_distribution::uniform_real_distribution
explicit uniform_real_distribution(result_type a = 0.0, result_type b = 1.0); explicit uniform_real_distribution(const param_type& parm);
Параметры
a
Нижняя граница случайных значений (инклюзивно).
b
Верхняя граница случайных значений (эксклюзивно).
parm
Структура param_type , используемая для формирования распределения.
Замечания
Предусловие: a < b
Первый конструктор создает объект, сохраненный значением которого содержит значение a и хранящееся значение b содержит значение b.
Второй конструктор создает объект, хранимые параметры которого инициализируются из parm. Вы можете получить и задать текущие параметры существующего распределения, вызвав функцию-член param() .
uniform_real_distribution::param_type
Сохраняет все параметры распределения.
struct param_type < typedef uniform_real_distributiondistribution_type; param_type(result_type a = 0.0, result_type b = 1.0); result_type a() const; result_type b() const; bool operator==(const param_type& right) const; bool operator!=(const param_type& right) const; >;
Параметры
a
Нижняя граница случайных значений (инклюзивно).
b
Верхняя граница случайных значений (эксклюзивно).
right
Объект param_type , который требуется сравнить с данным объектом.
Замечания
Предусловие: a < b
Эту структуру можно передать конструктору класса распределения во время создания экземпляра, функции-члену param() для установки хранимых параметров существующего распределения и operator() для использования вместо хранимых параметров.