我有一个看起来像列表值的数据结构,我试图使用numpy从它们中计算(x,y) 2d hermite函数。我正在尝试使用尽可能多的numpy数组,因为您可以尽快获得Fortran的性能提升(我期望x在实践中有数千个3-数组)。具体来说,我的代码看起来像这样:
x = np.array([[1., 2., 3.], [4., 5., 6.]])
coefs = np.array([[[1., 0.],[0., 1.]], [[0., 1.], [1., 0.]]])
z = np.array([0., 0.])
z[:] = hermval2d(x[:,0], x[:,1], coefs[:])
这将返回一个关于hermval2d形状的错误,根据只是运行hermval2d函数而不是赋值它:
In [XX]: hermval2d(x[:,0], x[:,1], coefs[:])
Out[XX]:
array([[ 9., 81.],
[ 6., 18.]])
我希望hermval2d是每个x、y和系数矩阵的标量,这是您从文档中期望的。我在这里漏掉了什么?比分是多少?
就在文档:)
hermval2d(x, y, c)
[…)
结果的形状将是c.shape[2:] + x.shape
在您的情况下,这似乎返回了x
和y
的赫米特值,为c[:,:,i]
中的每个i
求值。