我有一个看起来像列表值的数据结构,我正在尝试使用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和系数矩阵的标量,这是你对documentation的期望。那我在这里错过了什么?分数是多少?
答案 0 :(得分:3)
它就在文档:)
hermval2d(x,y,c)
[...]
结果的形状为c.shape [2:] + x.shape
在您的情况下,这似乎会返回x
的{{1}}和y
的Hermite值,并为i
中的每个c[:,:,i]
第2个数组进行评估。