1. 학습
  2. /
  3. 강의
  4. /
  5. Python으로 하는 통계 시뮬레이션

Connected

연습 문제

간단한 함수 적분하기

이번 연습 문제는 Monte Carlo Integration 개념을 소개하는 간단한 예제예요.

여기서는 간단한 적분 \( \int_0^1 x e^{x} dx\) 값을 구해 보겠습니다. 정확한 해는 $1$이지만, 시뮬레이션은 근사해를 주므로 $1$에 가까운 값을 기대할 수 있어요. 영상에서 보셨듯 절차는 간단합니다. 단일 변수 함수 $f(x)$에 대해:

  1. x축의 경계 $(x_{min}, x_{max})\(와 y축의 경계 \)(\max(f(x)), \min(\min(f(x)), 0))$를 정합니다.
  2. 이 직사각형 상자 안에서 균등분포로 점들을 여러 개 생성합니다.
  3. 상자의 넓이 (\((\max(f(x) - \min(f(x))\times(x_{max}-x_{min})\))에, 곡선 \(f(x)\) 아래에 놓인 점의 비율을 곱합니다.

이 과정을 마치면 Monte Carlo Integration을 사용해 정적분을 계산하는 기본 틀을 갖추게 됩니다.

지침

100 XP
  • sim_integrate() 함수에서 xmin과 xmax 사이의 균등 난수를 생성해 x에 할당하세요.
  • $\min(\min(f(x)), 0)\(과 \)\max(f(x))$ 사이의 균등 난수를 생성해 y에 할당하세요.
  • 곡선 \(f(x)\) 아래에 있는 점의 비율에 상자 넓이 (\((\max(f(x) - \min(f(x))\times(x_{max}-x_{min})\))를 곱한 값을 반환하세요.
  • 마지막으로 람다 함수를 사용해 func를 $x e^{x}$로 정의하세요.