numpy中polyfit的用法
参数
polyfit(x, y, deg, rcond=None, full=False, w=None, cov=False):
x:M个采样点的横坐标数组;
y:M个采样点的纵坐标数组;y可以是一个多维数组,这样即可拟合相同横坐标的多个多项式;
deg:多项式阶数。
rcond:Relative condition number,float型,缺省值为
l
e
n
(
x
)
∗
2
e
−
16
len(x)*2e^{-16}
len(x)∗2e−16
full:bool型,缺省为False,此时只返回系数向量;full=True时还返回奇异值分解的诊断信息。
w:要应用于采样点的y坐标的权重。缺省为None,形式应该为和y一样长的数组。
cov:bool型,返回估计值及其协方差矩阵。当full=True时不返回cov。
返回值p:多项式系数矩阵,从高阶到低阶,最后一位是常数项。
功能
根据用户给定的x、y、多项式阶数等信息拟合多项式。返回值是一个系数向量。
原理
最小二乘拟合。即使得平方误差最小化。即使得下式最小:
E
=
∑
j
=
0
k
∣
p
(
x
j
)
−
y
j
∣
2
E = \sum_{j=0}^k |p(x_j) - y_j|^2
E=j=0∑k∣p(xj)−yj∣2
用例
>>> x = np.array([0.0, 1.0, 2.0, 3.0, 4.0, 5.0])
>>> y = np.array([0.0, 0.8, 0.9, 0.1, -0.8, -1.0])
>>> z = np.polyfit(x, y, 3)
>>> z
array([ 0.08703704, -0.81349206, 1.69312169, -0.03968254])
转载自CSDN-专业IT技术社区
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/lishiyang0902/article/details/127652317