Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- tensorflow
- Visualization
- MATLAB
- 리눅스
- 통계학
- python visualization
- 파이썬 시각화
- 독후감
- 파이썬
- 딥러닝
- 텐서플로
- 한빛미디어
- Linux
- Tistory
- 시각화
- 블로그
- Blog
- SQL
- Google Analytics
- Python
- 서평
- 매틀랩
- matplotlib
- Ga
- 서평단
- MySQL
- 한빛미디어서평단
- 티스토리
- Pandas
- 월간결산
Archives
- Today
- Total
pbj0812의 코딩 일기
[통계학] 몬테 카를로 방법을 통한 원의 넓이 계산(python) 본문
0. 목표
- 몬테 카를로 방법을 통한 원의 넓이 계산
1. 실습
1) library 호출
import random
import matplotlib.pyplot as plt
2) 인풋 데이터 제작 함수
- x와 y가 -1 ~ 1 사이의 랜덤한 실수 생성
- x**2 + y**2 가 1보다 작을 경우 원의 넓이에 포함되게 리스트에 넣어줌
def monte(inp):
circle = 0
non_circle = 0
circle_x = []
circle_y = []
non_circle_x = []
non_circle_y = []
for i in range(inp):
x = random.uniform(-1, 1)
y = random.uniform(-1, 1)
if (x**2) + (y**2) <= 1:
circle += 1
circle_x.append(x)
circle_y.append(y)
else:
non_circle +=1
non_circle_x.append(x)
non_circle_y.append(y)
return circle, non_circle, circle_x, circle_y, non_circle_x, non_circle_y
3) 그림제작 함수
- 제목에는 전체 횟수와 원에 해당하는 점의 갯수 정의
def graph(inp):
circle, non_circle, circle_x, circle_y, non_circle_x, non_circle_y = monte(inp)
fig = plt.figure()
fig.set_size_inches(15, 15)
plt.scatter(circle_x, circle_y, color = 'r')
plt.scatter(non_circle_x, non_circle_y, color = 'b')
plt.title(str(inp) + "," + str(circle))
2. 결과
- 400, 4000 등으로 입력하여 결과가 앞에서부터 3141592~의 형식으로 나오면 잘 맞추었다고 볼 수 있음.
- 대략 사십만번 이상은 되어야 3.14 까지 계산됨.
1) 사백번
2) 사천번
3) 사만번
4) 사십만번
5) 사백만번
3. 참고
'Science > 통계학' 카테고리의 다른 글
[통계학] PYTHON을 이용한 U 값 계산 (0) | 2020.09.03 |
---|---|
[통계학] spicy 패키지를 이용한 동전 던지기(베이지안) (0) | 2020.08.31 |
[통계학] python을 이용한 블로그 방문자수 회귀선 그리기 (0) | 2020.08.29 |
[통계학] python을 이용한 부트스트랩 구현 (2) | 2020.08.28 |
[통계학] python을 통한 모평균의 신뢰구간 계산 (0) | 2020.08.24 |
Comments