scipy.interpolate.BPoly.

from_derivatives#

classmethod BPoly.from_derivatives(xi, yi, orders=None, extrapolate=None)[Quelle]#

Konstruiert ein stückweise Polynom in der Bernstein-Basis, das mit den angegebenen Werten und Ableitungen an den Bruchpunkten kompatibel ist.

Parameter:
xiarray_like

Sortierte 1D-Array von x-Koordinaten

yiarray_like oder Liste von array_likes

yi[i][j] ist die j-te Ableitung, die bei xi[i] bekannt ist.

ordersNone oder int oder array_like von ints. Standard: None.

Gibt den Grad der lokalen Polynome an. Wenn nicht None, werden einige Ableitungen ignoriert.

extrapolatebool oder ‘periodic’, optional

Wenn bool, bestimmt, ob für Punkte außerhalb des Bereichs basierend auf dem ersten und letzten Intervall extrapoliert wird oder ob NaNs zurückgegeben werden. Wenn ‘periodic’, wird periodische Extrapolation verwendet. Standard ist True.

Hinweise

Wenn k Ableitungen an einem Bruchpunkt x angegeben sind, ist das konstruierte Polynom an der Stelle x genau k-mal kontinuierlich differenzierbar, es sei denn, die order wird explizit angegeben. In letzterem Fall wird die Glattheit des Polynoms am Bruchpunkt durch die order gesteuert.

Leitet die Anzahl der Ableitungen, die an jedem Ende übereinstimmen sollen, aus order und der Anzahl der verfügbaren Ableitungen ab. Wenn möglich, werden die gleiche Anzahl von Ableitungen von beiden Enden verwendet; wenn die Anzahl ungerade ist, wird versucht, das zusätzliche eine von y2 zu nehmen. In jedem Fall, wenn an einem oder anderen Ende nicht genügend Ableitungen verfügbar sind, werden genügend von dem anderen Ende bezogen, um die Gesamtzahl auszugleichen.

Wenn die Ordnung zu hoch ist und nicht genügend Ableitungen verfügbar sind, wird eine Ausnahme ausgelöst.

Beispiele

>>> from scipy.interpolate import BPoly
>>> BPoly.from_derivatives([0, 1], [[1, 2], [3, 4]])

Erstellt ein Polynom f(x) vom Grad 3, definiert auf [0, 1], so dass f(0) = 1, df/dx(0) = 2, f(1) = 3, df/dx(1) = 4 gilt.

>>> BPoly.from_derivatives([0, 1, 2], [[0, 1], [0], [2]])

Erstellt ein stückweise Polynom f(x), so dass f(0) = f(1) = 0, f(2) = 2 und df/dx(0) = 1 gilt. Basierend auf der Anzahl der angegebenen Ableitungen beträgt die Ordnung der lokalen Polynome 2 auf [0, 1] und 1 auf [1, 2]. Beachten Sie, dass keine Einschränkung der Ableitungen bei x = 1 und x = 2 auferlegt wird.

Tatsächlich ist die explizite Form des Polynoms

f(x) = | x * (1 - x),  0 <= x < 1
       | 2 * (x - 1),  1 <= x <= 2

So dass f’(1-0) = -1 und f’(1+0) = 2 gilt.