BPoly#
- class scipy.interpolate.BPoly(c, x, extrapolate=None, axis=0)[Quelle]#
Stückweise definierte Polynome auf Basis der Bernstein-Polynome.
Das Polynom zwischen
x[i]undx[i + 1]wird in der Bernstein-Polynom-Basis dargestelltS = sum(c[a, i] * b(a, k; x) for a in range(k+1)),
wobei
kder Grad des Polynoms ist undb(a, k; x) = binom(k, a) * t**a * (1 - t)**(k - a),
mit
t = (x - x[i]) / (x[i+1] - x[i])undbinomder Binomialkoeffizient ist.- Parameter:
- cndarray, Form (k, m, …)
Polynomkoeffizienten, Grad k und m Intervalle
- xndarray, Form (m+1,)
Polynom-Bruchpunkte. Müssen aufsteigend oder absteigend sortiert sein.
- extrapolatebool, 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.
- axisint, optional
Interpolationsachse. Standard ist Null.
- Attribute:
- xndarray
Bruchpunkte.
- cndarray
Koeffizienten der Polynome. Sie werden zu einem 3-D-Array umgeformt, wobei die letzte Dimension die nachfolgenden Dimensionen des ursprünglichen Koeffizientenarrays darstellt.
- axisint
Interpolationsachse.
Methoden
__call__(x[, nu, extrapolate])Evaluiere das stückweise definierte Polynom oder seine Ableitung.
extend(c, x)Füge dem Polynom zusätzliche Bruchpunkte und Koeffizienten hinzu.
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(a, b[, extrapolate])Berechne ein bestimmtes Integral über ein stückweise definiertes Polynom.
construct_fast(c, x[, extrapolate, axis])Erstelle das stückweise definierte Polynom ohne Überprüfungen.
from_power_basis(pp[, extrapolate])Erstelle ein stückweise definiertes Polynom in Bernstein-Basis aus einem Polynom in Potenzbasis.
from_derivatives(xi, yi[, orders, extrapolate])Erstelle ein stückweise definiertes Polynom in Bernstein-Basis, das mit den angegebenen Werten und Ableitungen an den Bruchpunkten kompatibel ist.
Siehe auch
PPolystückweise definierte Polynome in Potenzbasis
Hinweise
Eigenschaften von Bernstein-Polynomen sind in der Literatur gut dokumentiert, siehe z.B. [1] [2] [3].
Referenzen
[2]Kenneth I. Joy, Bernstein polynomials, http://www.idav.ucdavis.edu/education/CAGDNotes/Bernstein-Polynomials.pdf
[3]E. H. Doha, A. H. Bhrawy, und M. A. Saker, Boundary Value Problems, Bd. 2011, Artikel-ID 829546, DOI:10.1155/2011/829543.
Beispiele
>>> from scipy.interpolate import BPoly >>> x = [0, 1] >>> c = [[1], [2], [3]] >>> bp = BPoly(c, x)
Dies erstellt ein Polynom 2. Grades
\[\begin{split}B(x) = 1 \times b_{0, 2}(x) + 2 \times b_{1, 2}(x) + 3 \times b_{2, 2}(x) \\ = 1 \times (1-x)^2 + 2 \times 2 x (1 - x) + 3 \times x^2\end{split}\]