我想为 a
系数找到最小二乘解
z = (a0 + a1*x + a2*y + a3*x**2 + a4*x**2*y + a5*x**2*y**2 + a6*y**2 +
a7*x*y**2 + a8*x*y)
给定长度为20的数组 x
, y
和 z
. 基本上我正在寻找相当于numpy.polyfit但是对于2D多项式 .
This question类似,但解决方案是通过MATLAB提供的 .
我想为 a
系数找到最小二乘解
z = (a0 + a1*x + a2*y + a3*x**2 + a4*x**2*y + a5*x**2*y**2 + a6*y**2 +
a7*x*y**2 + a8*x*y)
给定长度为20的数组 x
, y
和 z
. 基本上我正在寻找相当于numpy.polyfit但是对于2D多项式 .
This question类似,但解决方案是通过MATLAB提供的 .
1 回答
以下是一个示例,说明如何使用
numpy.linalg.lstsq
执行此任务:调整系数
coeff
是:请注意,
coeff[3]
和coeff[6]
分别对应于X**2
和Y**2
,它们接近1.
,因为示例数据是使用Z = X**2 + Y**2 + small_random_component
创建的 .