使用Python和4D系数数组评估x、y和z笛卡尔积上的3D勒让德级数
要评估x、y和z笛卡尔积上的3D勒让德级数,可以使用Python Numpy中的`polynomial.legendre.leggrid3d()`方法。该方法返回在x、y和z笛卡尔积中的点处的三维切比雪夫级数的值。如果c的维度小于三维,则会隐式地将其形状附加为1,使其成为3D。结果的形状将为c.shape[3:] + x.shape + y.shape + z.shape。
第一个参数是x、y、z。三维级数在x、y和z笛卡尔积中的点处进行评估。如果x或y是列表或元组,则首先将其转换为ndarray;否则,保持不变,如果它不是ndarray,则将其视为标量。
第二个参数是c。系数数组,其系数按多度为i,j的项的系数包含在c[i,j]中排序。如果c的维度大于二维,则其余索引枚举多个系数集。
步骤
首先,导入所需的库:
import numpy as np from numpy.polynomial import legendre as L
创建一个4D系数数组:
c = np.arange(48).reshape(2,2,6,2)
显示数组:
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笛卡尔积上的3D勒让德级数,可以使用Python中的`polynomial.legendre.leggrid3d()`方法:
print("\nResult...\n",L.leggrid3d([1,2],[1,2],[1,2],c))
示例
import numpy as np from numpy.polynomial import legendre as L # Create a 4d array of coefficients c = np.arange(48).reshape(2,2,6,2) # 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 3D Legendre series on the Cartesian product of x, y and z use the polynomial.legendre.leggrid3d() method in Python Numpy print("\nResult...\n",L.leggrid3d([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] [16 17] [18 19] [20 21] [22 23]]] [[[24 25] [26 27] [28 29] [30 31] [32 33] [34 35]] [[36 37] [38 39] [40 41] [42 43] [44 45] [46 47]]]] Dimensions of our Array... 4 Datatype of our Array object... int64 Shape of our Array object... (2, 2, 6, 2) Result... [[[[ 552. 28911. ] [ 900. 46566. ]] [[ 972. 49765.5 ] [ 1566. 79447.5 ]]] [[[ 576. 29977.5 ] [ 936. 48165.75 ]] [[ 1008. 51365.25 ] [ 1620. 81847.125]]]]
广告