计算一条直线下的曲线与该直线下方的面积

时间:2017-05-13 11:45:03

标签: python math scipy area

您好,
任何人都可以帮助我,如何计算曲线之间的区域(我有数据,而不是方程)和一条线(该曲线的线性回归)。我需要对该线下面和下面的区域求和。 / p>

我试过但它只适用于连续曲线!:

from scipy import integrate

def f(x):
    return x**2

integrate.quad(f, x0, x1)

如何计算所需面积?

1 个答案:

答案 0 :(得分:1)

我不知道它有多大帮助,但是如果你只有曲线上一组点的数据,你可以看看使用梯形法则生成曲线和曲线之间的近似值。 x轴,只要您使用SciPy库有一组点的x和y值。然后你可以减去线和之间的积分。像这样:

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