7

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 立方適合を示していると思いますか? 私はその値をいじってみましたが、改善されていないようです。

それはこれを生成します:

これ

どうすればこれをより良く、一貫させることができますか? ブレークポイントを定義する必要があるかもしれないと思いますが、その方法もわかりません。

4

3 に答える 3