numpy.polynomial.polynomial.polyvander#

polynomial.polynomial.polyvander(x, deg)[source]#

给定次数的范德蒙德矩阵。

返回次数为 deg 且样本点为 x 的范德蒙德矩阵。

范德蒙德矩阵定义为

\[V[..., i] = x^i,\]

其中 0 <= i <= degV 的前导索引索引 x 的元素,最后一个索引是 x 的幂。

如果 c 是长度为 n + 1 的一维系数数组,并且 V 是矩阵 V = polyvander(x, n),那么 np.dot(V, c)polyval(x, c) 在舍入误差范围内是相同的。这种等价性对最小二乘拟合和对大量相同次数和样本点的多项式的评估非常有用。
参数:

xarray_like

点数组。数据类型将根据元素是否为复数转换为 float64 或 complex128。如果 x 是标量,则将其转换为一维数组。

degint

生成矩阵的次数。
返回值:

vanderndarray.

范德蒙德矩阵。返回矩阵的形状为 x.shape + (deg + 1,),其中最后一个索引是 x 的幂。数据类型将与转换后的 x 相同。

参见

polyvander2d, polyvander3d

示例

>>> from numpy.polynomial import polynomial as P
>>> x, deg = [-1, 2, 3], 5
>>> P.polyvander(x=x, deg=deg)
array([[  1.,  -1.,   1.,  -1.,   1.,  -1.],
       [  1.,   2.,   4.,   8.,  16.,  32.],
       [  1.,   3.,   9.,  27.,  81., 243.]])
次数为 deg = 5 且样本点为 x = [-1, 2, 3] 的范德蒙德矩阵包含 x 从 0 到 5 的逐元素幂作为其列。