我正在寻找一种在python中创建定期B样条基函数的方法。我找到了函数scipy.interpolate.BSpline
。它有一个参数extrapolate
,可以将其设置为'periodic'
。但是,由于基函数不是句点,因此无法得到我期望的结果。
from scipy.interpolate import BSpline
import matplotlib.pyplot as plt
import numpy as np
k = 2
t = [0, 1, 2, 3, 4, 5, 6]
c = [0, 0, 0, 1]
xx = np.linspace(1.5, 4.5, 50)
for i in range(4):
spl = BSpline(t, np.eye(4)[i,:], k, extrapolate='periodic')
plt.plot(xx, spl(xx))
plt.show()