在Python中使用3D系数数组对x和y的笛卡尔积上评估2D Legendre级数
要在x和y的笛卡尔积上评估2D Legendre级数,请使用Python Numpy中的polynomial.legendre.leggrid2d()方法。该方法返回笛卡尔积中点处的二维Chebyshev级数的值。如果c的维数少于2,则会将1隐式添加到其形状以使其成为2-D。结果的形状将为c.shape [2:] + x.shape + y.shape。
第1个参数是x,y。在Cartesian product of x和y中的点上计算二维级数。如果x或y是列表或元组,则首先将其转换为ndarray,否则保持不变,并且如果它不是ndarray,则将其视为标量。第2个参数是c。按顺序排列的系数数组,其中多次项i,j的系数包含在c [i,j]中。如果c的维数大于2,则其余索引枚举多个系数集。
步骤
首先,导入所需的库−
import numpy as np
from numpy.polynomial import legendre as L
创建一个3d系数数组−
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和y的笛卡尔积上评估2D Legendre级数,请使用Python中的polynomial.legendre.leggrid2d()方法。它返回在笛卡尔积中点处的二维Chebyshev级数的值 –
print("\n结果...\n",L.leggrid2d([1,2],[1,2],c))
示例
import numpy as np
from numpy.polynomial import legendre as L
# 创建一个3D系数数组
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和y的笛卡尔积上评估2D Legendre级数,请使用Python Numpy中的polynomial.legendre.leggrid2d()方法
print("\n结果...\n",L.leggrid2d([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)
结果...
[[[ 36. 60.]
[ 66. 108.]]
[[ 40. 66.]
[72. 117.]]
[[ 44. 72.]
[ 78. 126.]]
[[ 48. 78.]
[ 84. 135.]]
[[ 52. 84.]
[ 90. 144.]]
[[ 56. 90.]
[ 96. 153.]]]