오늘은 저번에 해봤던 심슨 근사법을 파이썬으로 구현해 보겠습니다.
제가 c언어말고는 아무것도 모르던 시절에서 이제 아주 조금이나마 c#, 자바, 파이썬 등을 접하면서 여러가지 언어를 배우는 단계에 왔습니다. 그런 의미에서 오늘은 제가 c언어로 구현해본 것 중 난이도가 있는 심슨 근사법을 파이썬으로 구현해 보겠습니다.
SIMPSON 근사법
오늘 해볼 것은 적분 값을 근사해주는 방법 중 하나인 심슨 방법을 프로그래밍으로 구현해보기 입니다. 심슨 방법은 무엇일까요? 사다리꼴 적분법이 1차 함수를 활용하여 근사화하는 방법이라
kminc.tistory.com
심슨 근사법에 대한 수학적 개념과 알고리즘, c언어로 짠 코드는 여기서 확인하시면 됩니다.
다음은 파이썬으로 짠 코드입니다.
def f(x):
return x * x # 예시 함수
a, b = map(float, input().split()) # 양 끝 값 입력
n = int(input()) # 분할 횟수 입력
h = (b - a) / n # 구간을 나눌 간격
integral = f(a) + f(b) # 양 끝점의 함수값
x = a + h # 첫번째 분할점
for i in range(1, n, 2): # 홀수 인덱스 항의 합
integral += 4 * f(x)
x += h * 2
x = a + h * 2
for i in range(2, n, 2): # 짝수 인덱스 항의 합
integral += 2 * f(x)
x += h * 2
integral *= h / 3 # 적분 근삿값
print(integral)

이것은 코랩에서 실행해본 것 입니다.
다음은 더 재미있는 주제로 돌아오겠습니다.
'정보과학융합탐구' 카테고리의 다른 글
| 사다리꼴 근사 (0) | 2023.07.04 |
|---|---|
| C언어 VS 파이썬 (0) | 2023.07.04 |
| VR 게임 만들기 (1) | 2023.05.27 |
| SIMPSON 근사법 (1) | 2023.04.05 |
| 이분법 (1) | 2023.04.04 |