使用 Python 和 4D 系数数组评估 (x,y,z) 点处的 3D勒让德级数
要评估 (x, y, z) 点处的 3D 勒让德级数,可以使用 Python NumPy 中的 `polynomial.legendre.legval3d()` 方法。该方法返回多维多项式在由 x、y 和 z 的对应值的三元组形成的点上的值。
如果 c 的维数少于 3,则会隐式地将其形状附加到 3-D。结果的形状将为 c.shape[3:] + x.shape。第一个参数是 x、y、z。三维级数在 (x, y, z) 点处进行评估,其中 x、y 和 z 必须具有相同的形状。如果 x、y 或 z 中的任何一个是列表或元组,则首先将其转换为 ndarray,否则保持不变,如果它不是 ndarray,则将其视为标量。
第二个参数是 c。系数数组的排序方式,使得多度为 i、j、k 的项的系数包含在 c[i,j,k] 中。如果 c 的维数大于 3,则其余索引枚举多组系数。
步骤
首先,导入所需的库:
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 NumPy 中的 `polynomial.legendre.legval3d()` 方法:
print("\nResult...\n",L.legval3d([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 at points x, y,z use the polynomial.legendre.legval3d() method in Python Numpy print("\nResult...\n",L.legval3d([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. 79447.5 ] [ 576. 81847.125]]
广告