scipy BSpline Einbau in python
Dies ist mein erstes mal mit BSpline, und ich will fit einer Kurve auf meine Daten Punkte. Ich habe versucht, mit Hilfe von Univariaten Spline und versucht, auf splev und splrep aber ich würde wirklich gerne lernen, wie dies zu tun mit BSpline.
Es sieht aus wie mein fitting ist wirklich abgehackt und die Linie ist nicht selbst gehen durch die Punkte.
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 ist mein x-Koordinaten und U_magband ist einfach mein y. k=4 ich denke, dass zeigt eine kubische passen? Ich habe gespielt, um mit diesem Wert und es scheint nicht, um es besser zu machen.
Es produziert dies:
Wie kann ich das verbessern, konsistent?
Ich glaube, ich kann haben, zu definieren, Haltepunkte, aber ich bin mir nicht sicher, wie zu tun, dass entweder.
Du musst angemeldet sein, um einen Kommentar abzugeben.
splrep gibt ein Tupel
(t,c,k)
mit der vector der Knoten der B-spline-Koeffizienten und den Grad des spline. Diese können gefüttert werden, uminterpolate.BSpline
zum erstellen einer BSpline-Objekt: