小智 5
根据Polynomial.fit()
文档,它返回:
表示适合数据的最小二乘的系列,并在调用中指定了域和窗口。如果对未缩放和未移位的基多项式的系数感兴趣,请执行
new_series.convert().coef
.
您可以在 numpy./doc/stable/reference/routines.polynomials.html#transitioning-from-numpy-poly1d-to-numpy-polynomial中找到
系数在由窗口和域之间的线性映射定义的缩放域中给出。convert 可用于获取未缩放数据域中的系数。
你可以检查
import numpy as np
def main():
x = np.array([3000, 3200, 3400, 3600, 3800, 4000, 4200, 4400, 4600, 4800, 5000, 5200, 5400, 5600, 5800, 6000, 6200, 6400, 6600, 6800, 7000])
y = np.array([5183.17702344, 5280.24520952, 5758.94478531, 6070.62698406, 6584.21169885, 8121.20863245, 7000.57326186, 7380.01493624, 7687.97802847, 7899.71417408, 8506.90860692, 8421.73816463, 8705.58403352, 9275.46094996, 9552.44715196, 9850.70796049, 9703.53073907, 9833.39941224, 9900.21604921, 9901.06392084, 9974.51206378])
c1 = np.polynomial.polynomial.polyfit(x, y, 2)
c2 = np.polynomial.polynomial.Polynomial.fit(x, y, 2).convert().coef
c3 = np.polynomial.polynomial.Polynomial.fit(x, y, 2, window=(x.min(), x.max())).coef
print(c1)
print(c2)
print(c3)
if __name__ == '__main__':
main()
# [-3.33620814e+03 3.44704650e+00 -2.18221029e-04]
# [-3.33620814e+03 3.44704650e+00 -2.18221029e-04]
# [-3.33620814e+03 3.44704650e+00 -2.18221029e-04]
使用它的最重要原因可能Polynomial.fit()
是它在当前版本的 NumPy 中的支持并被视为polyfit
遗留
更多推荐
如何使用,而不是,fit,Polynomial,polyfit
发布评论