簡體   English   中英

使用 scipy.interpolate.interp1d 時默認的三次樣條類型是什么?

[英]what is the default cubic spline type when using scipy.interpolate.interp1d?

如果我們指定不同的約束,則有各種三次樣條,如自然三次樣條,Hermite 三次樣條和金融三次樣條。

我想知道當我們使用 scipy.interpolate.interp1d 並設置kind=cubic時默認的三次樣條方法是什么?

“kind=quadratic”的邊界約束是什么?

例如,

import numpy as np
import matplotlib.pyplot as plt
from scipy.interpolate import interp1d


def f(x):
    return np.exp(np.sin(-x))

a=np.linspace(-6,3,100)
b=f(a)

x = np.linspace(-6, 3, 5)
y = f(x)

splineFunc= interp1d(x=x, y=y, kind='cubic')

plt.plot(a,b)
plt.plot(a, splineFunc(a))
plt.show()

TL;DR:默認情況下它不是一個結。

interp1d(..., kind='cubic')委托給make_interp_spline ,它允許通過bc_type參數顯式控制邊界條件。 https://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.make_interp_spline.html

順便說一下,我建議直接使用make_interp_spline而不是通過 interp1d。

暫無
暫無

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

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