簡體   English   中英

二次樣條Python

[英]Quadratic Spline python

在python中執行二次樣條的最佳方法是什么? 我使用了interp1d ,但是這種方法不是我偽裝的。

這是python代碼的示例:

from scipy.interpolate import interp1d 

x = [5,6,7,8,9,10,11]
y = [2,9,6,3,4,20,6]

xx = [1,2,3,4,5,6,7,8,9,10,11,12] 
f = interp1d(x, y, kind='quadratic') 
yy = f(xx)

每當我運行此代碼時,都會出現此錯誤:

ValueError:x_new中的值低於插值范圍。

當您嘗試使點超出插值范圍時,將發生該錯誤。 例如,如果您只有5到11之間的數據,則只能在此范圍內進行插值(否則我們將討論外推)。 但是,函數“ scipy.interpolate.CubicSpline”會進行內插和外推,因此您可以獲得超出范圍的結果。

嘗試添加參數fill_value:

f= interp1d(x, y, kind='quadratic', fill_value='extrapolate')

xx:1,2,34和12的值不在您提供的初始數據之內,因此必須構建樣條曲線才能處理該問題。

暫無
暫無

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

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