我目前正在尝试集成一个由 XY 点对组成的函数。随意看看:https ://dl.dropboxusercontent.com/u/2635172/example.csv
我正在使用熊猫来读取文件
data_df = pd.read_csv("example.csv", sep="\t", index_col=0, names=["test"])
如果仔细观察,连续 x 值之间的间距是相同的,因此我可以将积分写成如下:
integral = integrate.trapz(data_df.values.transpose())*data_df.index[1]
whereintegrate
是从 scipy 导入的,data_df.index[1]
指的是间距。返回以下值:189274.48501691
如果我按以下方式执行集成:
integrate.trapz(data_df.values.transpose(), x=data_df.index)
返回一个完全不同的值 (5.846689e+08)。任何想法为什么会这样?
请注意,第一个结果应该是正确的。这也由 MATLAB 的 trapz 函数返回。