簡體   English   中英

Python numpy 插值給出錯誤的輸出

[英]Python numpy interpolation gives wrong output

我有一個輸入和輸出數組。 我已經給出了下面的情節。 我想在 x=0 處插入值。 我期待大約 16.7 左右,但給出了 17.4881 的峰值。 可能有什么問題。

數據 :

在此處輸入圖片說明

我的代碼:

xdata = [0.101,-0.008,-0.111,-0.209,-0.303]
ydata = [16.5241,16.7987,17.0499,17.2793,17.4885]
xp = np.interp(0,xdata,ydata)
print(xp)

當前輸出:

  17.4885

預期輸出:

16.7 # around from plot

如果您查看interp 函數文檔,它會說

如果未指定參數周期,則數據點的 x 坐標必須增加。 否則,在使用 xp = xp % 周期對周期性邊界進行歸一化后,xp 將在內部進行排序。

但是你的 xdata 是降序排列的,所以你需要在xdataydata顛倒順序

import numpy as np
xdata = [0.101,-0.008,-0.111,-0.209,-0.303][::-1]
ydata = [16.5241,16.7987,17.0499,17.2793,17.4885][::-1]
xp = np.interp(0,xdata,ydata)
print(xp)
# 16.778545871559633

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM