np.polyfit功能、返回值解析及两点直线拟合结果疑问
关于np.polyfit的功能与返回值解读
嘿,我来帮你把这个点彻底搞明白~
np.polyfit的核心功能
np.polyfit()是NumPy提供的多项式拟合工具,它通过最小二乘法找到最贴合输入数据点的多项式系数。如果输入的点刚好能被指定次数的多项式完美穿过(比如你用两点拟合1次直线),那它就会返回完全精确的多项式系数,没有拟合误差。
返回值的具体含义
它返回的是一个按多项式最高次项到常数项排序的系数数组。针对你用的1次多项式(直线拟合):
- 对应的直线方程是
y = k*x + b(k是斜率,b是截距) - 你得到的返回值
[-1.04, 727.2]中,第一个元素-1.04就是直线的斜率k,第二个元素727.2就是截距b - 也就是说这条拟合直线的方程是:
y = -1.04*x + 727.2
因为两点可以唯一确定一条直线,所以这次拟合是完全精确的,代入你的(x1,y1)和(x2,y2)验证的话,计算出来的y值会和你输入的y1、y2完全一致。
举个额外的例子:如果用3次多项式拟合数据,返回的数组会是[a, b, c, d],对应的多项式是y = a*x³ + b*x² + c*x + d,以此类推。
内容的提问来源于stack exchange,提问作者Ravi
相关产品推荐
相关产品推荐

