C/C에서 임의의 정규 편차 생성
정규 분포를 따르는 난수를 생성하는 것은 다양한 애플리케이션에서 일반적인 작업입니다. C/C에는 Boost와 같은 외부 라이브러리에 의존하지 않고 이를 달성하기 위한 여러 접근 방식이 있습니다.
널리 사용되는 방법 중 하나는 균일하게 분포된 두 개의 난수를 정규 분포된 두 난수로 변환하는 Box-Muller 변환입니다. 임의의 숫자. 수학 공식은 다음과 같습니다.
x = sqrt(-2 * ln(u1)) * cos(2 * M_PI * u2) y = sqrt(-2 * ln(u1)) * sin(2 * M_PI * u2)
여기서 u1과 u2는 [0, 1] 범위에 균일하게 분포된 난수입니다. 단일 무작위 정규 편차를 생성하려면 Box-Muller 변환을 사용하여 쌍을 생성하고 그 중 하나를 반환하고 이후 사용을 위해 다른 하나를 저장합니다.
위 내용은 Box-Muller 변환을 사용하여 C/C에서 임의의 정규 편차를 어떻게 생성할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!