scipy.odr.

polynomial#

scipy.odr.polynomial(order)[Quelle]#

Factory-Funktion für ein allgemeines Polynommodell.

Parameter:
orderint oder Sequenz

Wenn eine Ganzzahl, dann wird dies die Ordnung des zu fittenden Polynoms. Wenn eine Sequenz von Zahlen, dann sind dies die expliziten Potenzen im Polynom. Ein konstanter Term (Potenz 0) ist immer enthalten, also fügen Sie keine 0 hinzu. Daher ist polynomial(n) äquivalent zu polynomial(range(1, n+1)).

Rückgabe:
polynomialModel-Instanz

Model-Instanz.

Beispiele

Wir können Eingabedaten mit orthogonaler Distanzregression (ODR) mit einem Polynommodell fitten

>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> from scipy import odr
>>> x = np.linspace(0.0, 5.0)
>>> y = np.sin(x)
>>> poly_model = odr.polynomial(3)  # using third order polynomial model
>>> data = odr.Data(x, y)
>>> odr_obj = odr.ODR(data, poly_model)
>>> output = odr_obj.run()  # running ODR fitting
>>> poly = np.poly1d(output.beta[::-1])
>>> poly_y = poly(x)
>>> plt.plot(x, y, label="input data")
>>> plt.plot(x, poly_y, label="polynomial ODR")
>>> plt.legend()
>>> plt.show()
../../_images/scipy-odr-polynomial-1.png