在Python中计算笛卡尔积x、y和z的3D Hermite_e级数
要在x、y和z的笛卡尔积上计算3D Hermite_e级数,请使用Python中的hermite.hermegrid3d(x, y, z, c)方法。该方法返回笛卡尔积x、y和z中的点的三维多项式的值。
参数x、y、z分别为三个维度的列表或元组,计算笛卡尔积x、y和z中的点上的三维级数。如果x、y或z是列表或元组,则首先将其转换为ndarray,否则保持不变,并且如果它不是ndarray,则将其视为标量。
参数c是按度数i、j的项的系数排序的数组,其包含在c[i,j]中。如果c的维度大于2,则其余的索引枚举多个系数集。如果c的维数少于三个,则隐式追加1到其形状中,以使其成为3D。结果的形状将为c.shape[3:] + x.shape + y.shape + z.shape。
步骤
首先导入所需库 –
import numpy as np
from numpy.polynomial import hermite_e as H
创建一个3D系数数组 –
c = np.arange(16).reshape(2,2,4)
显示数组 –
print("数组如下:\n",c)
检查维度 –
print("数组的维度:\n",c.ndim)
获取数据类型 –
print("数组对象的数据类型是:\n",c.dtype)
获取形状 –
print("数组对象的形状是:\n",c.shape)
要在x、y和z的笛卡尔积上计算3D Hermite_e级数,请使用hermite.hermegrid3d(x, y, z, c)方法 –
print("\n结果:\n",H.hermegrid3d([1,2],[1,2],[1,2],c))
示例
import numpy as np
from numpy.polynomial import hermite_e as H
# 创建一个3D系数数组
c = np.arange(16).reshape(2,2,4)
# 显示数组
print("数组如下:\n",c)
# 检查维度
print("数组的维度:\n",c.ndim)
# 获取数据类型
print("数组对象的数据类型是:\n",c.dtype)
# 获取形状
print("数组对象的形状是:\n",c.shape)
# 要在x、y和z的笛卡尔积上计算3D Hermite_e级数,请使用hermite.hermegrid3d(x, y, z, c)方法
print("\n结果:\n",H.hermegrid3d([1,2],[1,2],[1,2],c))
输出
数组如下:
[[[ 0 1 2 3]
[ 4 5 6 7]]
[[ 8 9 10 11]
[12 13 14 15]]]
数组的维度:
3
数组对象的数据类型是:
int64
数组对象的形状是:
(2, 2, 4)
结果:
[[[-20. 248.]
[-30. 404.]]
[[-30. 436.]
[-45. 702.]]]