在Python中计算三维勒让德级数
要在点(x,y,z)处计算三维勒让德级数,请使用Python Numpy中的polynomial.legendre.legval3d()方法。该方法返回多维多项式在由来自x,y和z的相应值三元组形成的点上的值。
如果c的维数少于3,则将隐式添加1以使其成为3-D。结果的形状将是c.shape [ 3:] + x.shape。第1个参数是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
创建系数的三维数组−
c = np.arange(24).reshape(2,2,6)
显示数组−
print("我们的数组... \n", c)
检查维度−
print("\n我们的数组的维度... \n", c.ndim)
获取数据类型−
print("\n我们的数组对象的数据类型... \n", c.dtype)
获取形状−
print("\n我们的数组对象的形状... \n", c.shape)
要在点x,yz处计算三维勒让德级数,请使用Python Numpy中的polynomial.legendre.legval3d()方法−
print("\n结果... \n", L.legval3d([1,2],[1,2],[1,2],c))
示例
import numpy as np
from numpy.polynomial import legendre as L
# 创建系数的三维数组
c = np.arange(24).reshape(2,2,6)
# 显示数组
print("我们的数组... \n", c)
# 检查维度
print("\n我们的数组的维度... \n", c.ndim)
# 获取数据类型
print("\n我们的数组对象的数据类型... \n", c.dtype)
# 获取形状
print("\n我们的数组对象的形状... \n", c.shape)
# 要在点x,yz处计算三维勒让德级数,请使用Python Numpy中的polynomial.legendre.legval3d()方法
print("\n结果... \n", L.legval3d([1,2],[1,2],[1,2],c))
输出
我们的数组...
[[[ 0 1 2 3 4 5]
[ 6 7 8 9 10 11]]
[[12 13 14 15 16 17]
[18 19 20 21 22 23]]]
我们的数组的维度...
3
我们的数组对象的数据类型...
int64
我们的数组对象的形状...
(2, 2, 6)
结果...
[ 276. 39723.75]