티스토리 뷰


Q. 몬테카를로 시뮬레이션으로 반지름이 1일 원의 면적을 구하시오



A.  수식에 의한 계산과 몬테카를로 시뮬레이션을 수행


  * 수식에 의한 계산

    radius <- 1

    ( circle_area <- pi * radius * radius )

                                    ===> 3.141593


  * 몬테카를로 시뮬레이션

  cal_circle_area <- function(N=1000){
      x <- runif( N, -1, 1) # x value between -1 ~ 1
      y <- runif( N, -1, 1) # y value between -1 ~ 1
 
      in_area <- (x^2 + y^2) <= 1
      4* mean(in_area)
  }


  # 시뮬레이션을 100, 1000, 10000, 100000 회 실시

  count <- c( 100, 1000, 10000, 100000 )

  sim_result <- sapply(count, cal_circle_area)

  residuals   <- circle_area - sim_result


  # 실제 값과의 차이를 그래프로 표시

  plot(residuals, type = "l" )
  abline(0,0, lty = 3)


  ===> 수행 결과

   sim_result : 3.40000 3.14800 3.14960 3.14716 residuals : -0.021592654 0.010407346 0.00760346 0.003207346


공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/10   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함