numpy.polynomial.legendre.legvander3d #

多项式.勒让德. legvander3d ( x , y , z , deg ) [来源] #

给定度数的伪范德蒙矩阵。

返回度数deg和样本点(x, y, z)的伪范德蒙德矩阵。如果l, m, n是x, y, z中给定的度数,则伪范德蒙矩阵定义为

\[V[..., (m+1)(n+1)i + (n+1)j + k] = L_i(x)*L_j(y)*L_k(z),\]

其中0 <= i <= l0 <= j <= m0 <= j <= nV的前导索引对点(x, y, z)进行索引,最后一个索引对勒让德多项式的次数进行编码。

如果,则V的列按顺序对应于形状为 (xdeg + 1, ydeg + 1, zdeg + 1) 的 3-D 系数数组c的元素V = legvander3d(x, y, z, [xdeg, ydeg, zdeg])

\[c_{000}, c_{001}, c_{002},... , c_{010}, c_{011}, c_{012},...\]

和直到四舍五入为止都是相同的。这种等价对于最小二乘拟合和评估大量具有相同度数和样本点的 3-D Legendre 级数都很有用。np.dot(V, c.flat)legval3d(x, y, z, c)

参数
x, y, z类似数组

点坐标数组,全部具有相同的形状。数据类型将转换为 float64 或complex128,具体取决于任何元素是否为复数。标量转换为一维数组。

整数的deg列表

[x_deg, y_deg, z_deg] 形式的最大度数列表。

返回
Vander3D ndarray

返回矩阵的形状为,其中 x.shape + (order,)\(order = (deg[0]+1)*(deg[1]+1)*(deg[2]+1)\)。 dtype 将与转换后的xyz相同。

笔记

1.7.0 版本中的新增内容。