gpt4 book ai didi

python - 使用 scipy 的 trapz 函数进行积分

转载 作者:太空宇宙 更新时间:2023-11-03 18:56:00 31 4
gpt4 key购买 nike

我目前正在尝试集成一个由 XY 点对组成的函数。欢迎查看:https://dl.dropboxusercontent.com/u/2635172/example.csv

我正在使用 pandas 来读取文件

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]

其中integrate是从scipy导入的,data_df.index[1]指的是间距。返回以下值:189274.48501691

如果我按以下方式执行集成:

  integrate.trapz(data_df.values.transpose(), x=data_df.index)

返回一个完全不同的值 (5.846689e+08)。有什么想法为什么会出现这种情况吗?

请注意,第一个结果应该是正确的。这也是由 MATLAB 的 trapz 函数返回的。

最佳答案

您必须使用 Index 实例中的值:

integrate.trapz(data_df.values.transpose(), x=data_df.index.values)
#[189274.48501691408]

如果将 data_df.indexIndex 转换为 ndarray,它也可以工作:

integrate.trapz(data_df.values.transpose(), x=data_df.index.view(pd.np.ndarray))
#[189274.48501691408]

关于python - 使用 scipy 的 trapz 函数进行积分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17252024/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com