scipy.interpolate.

NdPPoly#

class scipy.interpolate.NdPPoly(c, x, extrapolate=None)[Quelle]#

Stückweise Tensorprodukt-Polynome

Der Wert am Punkt xp = (x', y', z', ...) wird ausgewertet, indem zuerst die Intervallindizes i berechnet werden, sodass

x[0][i[0]] <= x' < x[0][i[0]+1]
x[1][i[1]] <= y' < x[1][i[1]+1]
...

und dann berechnet wird

S = sum(c[k0-m0-1,...,kn-mn-1,i[0],...,i[n]]
        * (xp[0] - x[0][i[0]])**m0
        * ...
        * (xp[n] - x[n][i[n]])**mn
        for m0 in range(k[0]+1)
        ...
        for mn in range(k[n]+1))

wobei k[j] der Grad des Polynoms in Dimension j ist. Diese Darstellung ist die stückweise multivariate Potenzbasis.

Parameter:
cndarray, Form (k0, …, kn, m0, …, mn, …)

Polynomkoeffizienten, mit Polynomgrad kj und mj+1 Intervallen für jede Dimension j.

xndim-Tupel von ndarrays, Formen (mj+1,)

Polynom-Bruchpunkte für jede Dimension. Diese müssen in aufsteigender Reihenfolge sortiert sein.

extrapolatebool, optional

Ob für Punkte außerhalb des Bereichs basierend auf dem ersten und letzten Intervall extrapoliert werden soll oder NaNs zurückgegeben werden sollen. Standard: True.

Attribute:
xTupel von ndarrays

Bruchpunkte.

cndarray

Koeffizienten der Polynome.

Methoden

__call__(x[, nu, extrapolate])

Auswertung des stückweisen Polynoms oder seiner Ableitung

derivative(nu)

Erstelle ein neues stückweise definiertes Polynom, das die Ableitung darstellt.

antiderivative(nu)

Erstelle ein neues stückweise definiertes Polynom, das die Stammfunktion darstellt.

integrate(ranges[, extrapolate])

Berechne ein bestimmtes Integral über ein stückweise definiertes Polynom.

integrate_1d(a, b, axis[, extrapolate])

Berechnung der NdPPoly-Darstellung für eindimensionale bestimmte Integrale

construct_fast(c, x[, extrapolate])

Erstelle das stückweise definierte Polynom ohne Überprüfungen.

Siehe auch

PPoly

stückweise Polynome in 1D

Hinweise

Hochgradige Polynome in der Potenzbasis können numerisch instabil sein.