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 diej-te Ableitung, die beixi[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
kAbleitungen an einem Bruchpunktxangegeben sind, ist das konstruierte Polynom an der Stellexgenauk-mal kontinuierlich differenzierbar, es sei denn, dieorderwird explizit angegeben. In letzterem Fall wird die Glattheit des Polynoms am Bruchpunkt durch dieordergesteuert.Leitet die Anzahl der Ableitungen, die an jedem Ende übereinstimmen sollen, aus
orderund 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 beix = 1undx = 2auferlegt 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.