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

 
Previous Post 아래아 한글, MS워드의 차이점; HWP 워드프로세서와 Word의 차이, 장단점Excel] 엑셀 VBA(비베) 반올림 함수; 정수로, 지정한 자릿수만큼; Round To...Java/자바] 한국 남녀 키(신장)의 평균, 표준편차 랜덤 난수 생성; Human Sta...Python/파이썬] 한국인 남녀 키(신장)의 평균, 표준편차 랜덤 난수 생성; Human...통계] 대한민국 인체 치수의 평균 표준편차 데이터 얻기; Size Korea, Human ...Python/파이썬] 리스트(배열) 합계, 산술 평균 구하기; List-Array Sum,...CHM 파일의 HTML 태그 보기, 압축HTML에서 이미지(jpg, gif) 추출 방법Perl/펄] 배열을 문자열로 합치기, 배열 요소들을 하나로 병합; Array to Str...Perl/펄] 자연 로그의 밑 e 상수 선언 출력; Natural Logarithm, Eu...Perl/펄] 원주율 상수 선언; 파이 값 Constant 정의; PI, M_PI

Excel-엑셀-VBA] 남녀 키(신장)의 평균, 표준편차 랜덤 난수 발생; Human Stature Random Number

Wednesday, February 14, 2007

한국인 20대 남녀의 실제 키(신장)에 해당하는 랜덤한 숫자를 만들어서, 셀에 입력하는 비베 코드입니다.

실제 인체 측정 데이터에 근거하여, 키를 시뮬레이션(?)하는 것입니다.

아래에 정의되어 있는 gaussianRandom() 이런 가우시안 랜덤 함수에

(표준편차 * gaussianRandom()) + 평균

이런 공식을 적용하면 결과가 나옵니다.

실제 사람의 키의 평균과 표준편차는 여기서 구할 수 있습니다: ▶▶ 통계] 대한민국 인체 치수의 평균 표준편차 데이터 얻기; Size Korea, Human Engineering Data


VBA: 평균, 표준편차 지정하여, 랜덤 난수 만들기 예제


(엑셀에서 Alt+F11키를 눌러, 비베 에디터를 실행하고, 비베 에디터 메뉴의, "삽입 > 모듈"을 선택한 후, 다음 코드를 붙여 넣습니다.)
비베 에디터에서 F5 키를 누르거나, 엑셀에서 Alt+F8 키를 누르면 VBA 매크로가 실행됩니다.

(※ 스크롤 박스 사용법: 박스 안을 마우스로 클릭한 후, 키보드의 좌우 화살표키를 누르면 양옆으로 움직일 수 있습니다. 박스에서 다시 나오려면, 박스 바깥의 아무곳이나 클릭하면 됩니다.)
Sub Human_Stature_Random_Number_Example()

  Randomize

  Dim i


''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' 20 ~ 24세 남자의 키: 평균 1738 mm, 표준편차: 58.3 mm
' A열에 출력
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  For i = 1 To 1000
    Cells(i, 1).Value = Round((58.3 * gaussianRandom()) + 1738)
  Next i




''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' 20 ~ 24세 여자의 키: 평균 1607 mm, 표준편차: 49.4 mm
' C열에 출력
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  For i = 1 To 1000
    Cells(i, 3).Value = Round((49.4 * gaussianRandom()) + 1607)
  Next i

End Sub




Function gaussianRandom() As Double

  Dim v1 As Double, v2 As Double, s As Double


  Do
    v1 = 2# * Rnd - 1#
    v2 = 2# * Rnd - 1#
    s = v1 * v1 + v2 * v2
  Loop While s >= 1# Or s = 0#


  s = Sqr((-2# * Log(s)) / s)

  gaussianRandom = v1 * s

End Function


A열에는 남자의 키, C열에는 여자의 키가, 1000명 분량씩, 총2000명 분량의 키가 만들어집니다.

엑셀의 빈 셀에

=STDEV(A:A)

=STDEV(C:C)

이런 함수를 넣으면, 방금 만든 랜덤 숫자들의 표준편차가 계산되어 나옵니다. 58.3 과 49.4 에 가까운 숫자가 나올 것입니다.



표준편차 구하기: ▶▶ Excel/엑셀] 표준편차 구하기 함수 (표본, 모집단 전체); Standard Deviation

▶▶ Excel/엑셀] 가우스 난수/가우시안 랜덤 발생 함수; Gaussian Random VBA 매크로

평균, 표준편차 계산기: ▶▶ 평균 계산기, 합계 구하기, 표준편차 계산기, 중앙값; Sum Average Stdev Median Calc

0 Comments:

Post a Comment

<< Home RSS 2.0 feed

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