这是我第一次使用BSpline,我想将曲线拟合到我的数据点上。我尝试过使用Univariate Spline,并尝试使用splev和splrep,但我真的想学习如何使用BSpline来完成这个任务。
看起来我的拟合结果非常粗糙,曲线甚至没有经过数据点。
arraymagU = linspace(U_timeband.min(),U_timeband.max(),300) #array for my x data points
UfunctionBS = BSpline(U_timeband,U_magband,k=4,extrapolate=False)
arraymagU2 = UfunctionBS(arraymagU)
plt.plot(arraymagU,arraymagU2)
U_timeband是我的x坐标,U_magband仅仅是我的y坐标。我认为k=4表示一个三次函数拟合?我已经尝试过改变这个值,但好像并没有使结果更好。
它产生了这样的结果:
如何让这个结果更好、一致呢? 我认为我可能需要定义断点,但我不确定怎么做。