잡동사니

반응형

질문

 

저는 초보자 파이썬 사용자입니다.

곡선 (x, y)에 대한 두 개의 데이터 파일이 있습니다 : https://drive.google.com/open?id=1ZB39G3SmtamjVjmLzkC2JefloZ9iShpO

그림과 같이 곡선 아래에서 두 영역을 찾는 방법 : 여기에 이미지 설명 입력

검은 색 영역 (A)과 빨간색 영역 (B)

총 면적을 찾는 방법 만 알고 있습니다.

from scipy.integrate import trapz

with open('./x_data.txt', 'rt') as f:
    x_file = f.read()

with open('./y_data.txt', 'rt') as f:
    y_file = f.read()

xlist = []
for line in x_file.split('\n'):
    if line: 
        xlist.append(float(line.strip()))
ylist = []
for line in y_file.split('\n'):
    if line: 
        ylist.append(float(line.strip()))

if len(xlist) != len(ylist):
    print(len(xlist), len(ylist))
    raise Exception('X and Y have different length')

xData = np.array(xlist)
yData = np.array(ylist)

area = trapz(y = yData, x = xData)
print("area =", area)

 

답변1

 

Simpsons 규칙 또는 Trapezium 규칙을 사용하여 일정한 간격으로 y- 값 표가 제공된 그래프 아래 면적을 계산할 수 있습니다.

from scipy.integrate import simps
from numpy import trapz

참조 : 계산 함수를 모른 채 좌표 세트가 지정된 곡선 아래 영역

 

 

 

 

 

출처 : https://stackoverflow.com/questions/59202053/how-to-find-the-area-under-the-curve

반응형

이 글을 공유합시다

facebook twitter googleplus kakaoTalk kakaostory naver band