我有一个直方图histo
,表示来自连续函数的样本。我想计算这条曲线下方的面积。直方图在对应于数组x
的位置处对函数进行采样。
首先,我使用梯形规则:
dx = x[1:] - x[:-1]
result = np.sum(0.5 * (histo[1:] + histo[:-1]) * dx)
这很好,但我想做得更好。
因此,我想与Romberg的方法进行整合。为此我想使用scipy.integrate.romberg
(不是必需品,但我想在Python中它是唯一的方法)。
所以我首先让histo
成为一个函数,比如
lambda z: function_histo(z)
然后我使用方法
integrate.romb(histo_function, min, max)
其中min
和max
是整合的极端。
我的问题是:我怎么需要创建这个"功能" histo_function
?