scipy.odr.
多项式#
- scipy.odr.polynomial(order)[源代码][源代码]#
用于一般多项式模型的工厂函数。
- 参数:
- 顺序int 或 sequence
如果是一个整数,它将成为拟合的多项式的阶数。如果是一个数字序列,那么这些是多项式中的显式幂。常数项(幂 0)总是包含在内,所以不要包含 0。因此,polynomial(n) 等价于 polynomial(range(1, n+1))。
- 返回:
- 多项式模型实例
模型实例。
示例
我们可以使用正交距离回归(ODR)拟合多项式模型输入数据:
>>> 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()