ich habe ein Problem bei Anwenden von Splinefunktionen (UnivariateSpline). Und zwar habe ich eine Reihe von 13 Messpunkten, welche ich interpolieren möchte. Die Ableitungen (siehe unten) möchte ich dann wieder mit neuen Splines fitten. Es passiert leider nicht das, was ich erwartet habe.
1.) Meiner Meinung nach müsste ich doch beim Ausgeben der Koeffizienten 4x12 Stück angezeigt bekommen, da in jedem Abschnitt sich ein Spline dritter Ordnung befindet. Ich bekomme aber komischerweise 14 Koeffizienten ausgegeben.
2.) Da die Ableitungen bei interpolierenden Splines schnell sehr starke Schwankungen zeigen möchte ich diese gerne mit smoothsplines belegen. Leider kann ich auch nach einiger recherche nicht viel mit dem Parameter s anfangen. Egal was ich auswähle, entweder der Spline interpoliert die Werte oder er legt ein "smooth" Polynom dritten Grades über die Werte (immer exakt dasselbe). Warum ist das so? Er müsste doch immer noch mehrere Funktionen dritten grades zwischen den Punkten erstellen (?).
Ich hoffe, dass ich mich halbwegs verständlich ausgedrückt habe und ihr mir dabei weiterhelfen könnt.
Mit besten Grüßen,
JayJay
Code: Alles auswählen
VV = UnivariateSpline(yR, UU1, w=None, k=3, s=0)
for i in range(0,13):
U = UnivariateSpline.derivatives(VV,yR[i])
UUU1[i] = U[1]
print UnivariateSpline.get_coeffs(VV)
VVV = UnivariateSpline(yR, UUU1, w=None, k=3, s=0)
for i in range(0,13):
U = UnivariateSpline.derivatives(VVV,yR[i])
UUUU1[i] = U[1]
print UnivariateSpline.get_coeffs(VVV)