在Python中计算三维Hermite级数的Cartesian乘积
要在x、y和z的Cartesian乘积上计算三维Hermite级数,请使用Python中的hermite.hermgrid3d(x, y, z, c)方法。该方法返回Cartesian乘积中点的三维多项式的值。
参数是x、y、z。在x、y和z的Cartesian乘积中评估三维级数。如果x、y或z是列表或元组,则首先将其转换为ndarray,否则将保持不变,并且如果它不是ndarray,则将其视为标量。
参数c是一个按照i、j次项的系数有序排列的数组,其中i、j次项的系数包含在c[i,j]中。如果c的维度大于2,则其余的索引枚举多个系数集合。如果c的维度少于三维,其形状会自动添加为3D。结果的形状将为c.shape[3:] + x.shape + y.shape + z.shape。
步骤
首先,导入所需的库−
import numpy as np
from numpy.polynomial import hermite as H
创建一个系数的3D数组−
c = np.arange(16).reshape(2,2,4)
显示数组 –
print("Our Array...\n",c)
检查尺寸 –
print("\nDimensions of our Array...\n",c.ndim)
获取数据类型 –
print("\nDatatype of our Array object...\n",c.dtype)
获取形状 –
print("\nShape of our Array object...\n",c.shape)
要在x、y和z的笛卡尔积上评估3-D Hermite系列,在Python中使用hermite.hermgrid3d(x, y, z, c)方法 −
print("\nResult...\n",H.hermgrid3d([1,2],[1,2],[1,2],c))
示例
import numpy as np
from numpy.polynomial import hermite as H
# Create a 3D array of coefficients
c = np.arange(16).reshape(2,2,4)
# Display the array
print("Our Array...\n",c)
# Check the Dimensions
print("\nDimensions of our Array...\n",c.ndim)
# Get the Datatype
print("\nDatatype of our Array object...\n",c.dtype)
# Get the Shape
print("\nShape of our Array object...\n",c.shape)
# To evaluate a 3-D Hermite series on the Cartesian product of x, y and z, use the hermite.hermgrid3d(x, y, z, c) method in Python
print("\nResult...\n",H.hermgrid3d([1,2],[1,2],[1,2],c))
输出
Our Array...
[[[ 0 1 2 3]
[ 4 5 6 7]]
[[ 8 9 10 11]
[12 13 14 15]]]
Dimensions of our Array...
3
Datatype of our Array object...
int64
Shape of our Array object...
(2, 2, 4)
Result...
[[[ 18. 5616.]
[ 38. 9832.]]
[[ 46. 10304.]
[ 90. 17960.]]]