Namespaces
Variants

std:: uniform_real_distribution

From cppreference.net
헤더에 정의됨 <random>
template < class RealType = double >
class uniform_real_distribution ;
(C++11부터)

균일하게 분포된 난수 부동 소수점 값을 생성합니다. x , 이는 구간 [a, b) 에서 균일하게 분포됩니다. 즉, 다음 확률 밀도 함수에 따라 분포됩니다:

P(x|a,b) =
1
b − a
.

std::uniform_real_distribution RandomNumberDistribution 의 모든 요구 사항을 충족합니다.

목차

템플릿 매개변수

RealType - 생성기에 의해 생성되는 결과 타입. 이것이 float , double , 또는 long double 중 하나가 아닌 경우의 효과는 정의되지 않습니다.

멤버 타입

멤버 타입 정의
result_type (C++11) RealType
param_type (C++11) 매개변수 집합의 타입, RandomNumberDistribution 참조.

멤버 함수

새로운 분포를 생성함
(public member function)
(C++11)
분포의 내부 상태를 재설정함
(public member function)
생성
(C++11)
분포에서 다음 난수를 생성함
(public member function)
특성
(C++11)
분포 매개변수를 반환함
(public member function)
(C++11)
분포 매개변수 객체를 가져오거나 설정함
(public member function)
(C++11)
잠재적으로 생성될 수 있는 최소값을 반환함
(public member function)
(C++11)
잠재적으로 생성될 수 있는 최대값을 반환함
(public member function)

비멤버 함수

(C++11) (C++11) (removed in C++20)
두 분포 객체를 비교함
(함수)
의사 난수 분포에 대한 스트림 입출력을 수행함
(함수 템플릿)

참고 사항

이 분포로부터 닫힌 구간 [a, b] 에 대한 분포를 생성하는 것은 어렵습니다. std:: nextafter ( b, std:: numeric_limits < RealType > :: max ( ) ) 를 두 번째 매개변수로 사용하는 것은 반올림 오류 때문에 항상 작동하지 않습니다.

대부분의 기존 구현에는 가끔씩 b 를 반환할 수 있는 버그가 존재합니다 ( GCC #63176 LLVM #18767 MSVC STL #1074 ). 원래는 RealType float 이고 LWG issue 2524 가 존재할 때만 발생하는 것으로 생각되었지만, 이후 연구에서 버그를 발생시키기 위해 둘 중 어느 것도 필요하지 않음 이 입증되었습니다.

예제

1과 2 사이의 임의의 숫자 10개를 출력합니다.

#include <iostream>
#include <random>
int main()
{
    std::random_device rd;  // Will be used to obtain a seed for the random number engine
    std::mt19937 gen(rd()); // Standard mersenne_twister_engine seeded with rd()
    std::uniform_real_distribution<> dis(1.0, 2.0);
    for (int n = 0; n < 10; ++n)
        // Use dis to transform the random unsigned int generated by gen into a 
        // double in [1, 2). Each call to dis(gen) generates a new random double.
        std::cout << dis(gen) << ' ';
    std::cout << '\n';
}

가능한 출력:

1.80829 1.15391 1.18483 1.38969 1.36094 1.0648 1.97798 1.27984 1.68261 1.57326

외부 링크

구간에서 무작위 부동소수점 수 추출하기 — © 2022. Frédéric Goualard, 낭트 대학교.