2017-05-13 1 views
-2

안녕하세요,
누구든지 곡선 사이의 면적을 계산하는 방법을 가르쳐 줄 수 있습니까? 이 커브).이 선 아래와 아래 부분의 합계를 계산해야합니다. 라인 아래 곡선과이 라인 아래의 면적을 계산하십시오.

나는 시도했지만 그것은 단지 연속 곡선! :

from scipy import integrate 

def f(x): 
    return x**2 

integrate.quad(f, x0, x1) 

어떻게 내가 원하는 영역을 계산할 수입니다?

+1

http://stackoverflow.com/a/13323861/6144626 –

+1

그 균등하게 분배되지 않은 포인트를 사용 할 수 scipy.integrate에 simps주의하는 것이 흥미 롭 . 설명서 [here] (https://docs.scipy.org/doc/scipy/reference/generated/scipy.integrate.simps.html#scipy.integrate.simps)를 참조하십시오. –

답변

1

많은 도움이 될지 모르겠지만 곡선의 점 집합에 대한 데이터 만있는 경우 Trapezium 규칙을 사용하여 곡선 사이의 근사값을 생성 할 수 있습니다 SciPy 라이브러리를 사용하여 점의 x 및 y 값 집합을 제공한다면 x 축을 선택합니다. 그런 다음 선과 정수 사이의 적분을 뺄 수 있습니다. 이처럼 :

import numpy as np 
from scipy.integrate import simps 
from scipy import integrate 
#Our arrays of coordinates 
xs = np.array([1,3,4]) 
ys = np.array([5,7,3]) 
I1 = simps(ys, xs) 
#The line now 
def f(x): 
    #sum linear equation 
    return 4x+5 
I2 = integrate.quad(f, 1, 4)#use are x bounds from the outermost curve points 
I = I1-I2 

(정보 here에서 파생)