컴퓨터 엑셀 워드 포토샵 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Saturday, April 21, 2007

PHP 프로그래밍] 실수 랜덤 난수 생성 0에서 1까지 출력, Float Random Rand


PHP의 난수 출력 함수들은 정수를 반환합니다. 그런데 수학적 연산에서는 0.0에서 1.0까지의 실수 난수가 많이 사용됩니다.

정수를 반환하는 mt_rand() 의 값을, mt_rand()가 반환할 수 있는 최대값으로 나누어 주면, 0~1까지의 실수 랜덤 넘버가 생성됩니다.

다음 예제와 같습니다:

0.0에서 1.0까지의 실수 난수 발생 예제 소스


소스 파일명: example.php
<html>
<head>
<title>PHP Example</title>
</head>

<body>

<?php

  for ($i = 0; $i < 30; $i++) {
    $result = mt_rand() / mt_getrandmax();
    echo "$result<br />\n";
  }

?>

</body>
</html>



실행 결과 화면:
D:\Z>php example.php
<html>
<head>
<title>PHP Example</title>
</head>

<body>

0.52372240346098<br />
0.70050819064514<br />
0.31598526952601<br />
0.74765221809393<br />
0.68959701652154<br />
0.765967422056<br />
0.48051167674386<br />
0.34187152671715<br />
0.23549252247228<br />
0.68739067236306<br />
0.59697089325496<br />
0.83018079019626<br />
0.62978890381278<br />
0.19879387654308<br />
0.74206832784324<br />
0.83952188437782<br />
0.30306003955335<br />
0.7206036419238<br />
0.52402230516263<br />
0.50808864203658<br />
0.44506259190154<br />
0.10106342895937<br />
0.99416509084132<br />
0.27904122335792<br />
0.61441761982367<br />
0.63703481510143<br />
0.44365280514753<br />
0.98430605231985<br />
0.13798505493346<br />
0.53450815125113<br />

</body>
</html>


D:\Z>php example.php > out.html
D:\Z>


위의 예제에서는 30개만 출력했는데,

난수 30000개를 만들어서, 엑셀로 정렬해 본 결과

0.000041898340006312
에서
0.99998735217377
까지의 실수 난수들이 출력되었습니다. 0.0 에서 1.0 이라고 할 수 있습니다.



php example.php > out.html
이라고 하면, 실행 결과가 out.html 이라는 파일로 저장됩니다.



정수 난수 생성: ▶▶ PHP 프로그래밍] 랜덤 정수 난수 구하기, 1에서 10까지, Random Rand int

▶▶ PHP, 정규분포 난수 생성, 가우스 분포 랜덤 발생 함수; Normal Distribution


0~1까지의 실수 난수 생성기: ▶▶ 0에서 1까지의 실수 난수 발생, 랜덤 생성; Float Random Maker

0 Comments:

Post a Comment

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Previous Posts
Monthly Archives
Top