在Python中计算Hermite级数在点x处的值,并针对x的每个维度扩展系数数组的形状
要在点x处计算Hermite级数的值,可以使用Python中Numpy库的hermite.hermval()方法。第一个参数x,如果x是列表或元组,则会转换为ndarray,否则保持不变,并当作标量处理。无论哪种情况,x或其元素必须支持与自身和c的元素的加法和乘法。
第二个参数C,一个按顺序排列的系数数组,其中n次项的系数包含在c[n]中。如果c是多维的,剩余的索引将枚举多个多项式。在二维情况下,系数可以看作是存储在c的列中的。
第三个参数tensor,如果为True,则系数数组的形状在右侧扩展一个维度,每个维度对应x的一个维度。对于这个操作,标量的维度为0。结果是,c中的每列系数都会对x的每个元素进行求值。如果为False,则x将在求值时广播到c的每一列上。当c是多维的时,这个关键字很有用。默认值为True。
步骤
首先,导入所需的库-
import numpy as np
from numpy.polynomial import hermite as H
创建一个多维数组的系数 –
c = np.arange(8).reshape(2,4)
显示数组 –
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处评估一个Hermite系列,请在Python Numpy中使用hermite.hermval()方法 –
print("\nResult...\n",H.hermval([1,2],c, tensor = True))
示例
import numpy as np
from numpy.polynomial import hermite as H
# Create a multidimensional array of coefficients
c = np.arange(8).reshape(2,4)
# 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 Hermite series at points x, use the hermite.hermval() method in Python Numpy
print("\nResult...\n",H.hermval([1,2],c, tensor = True))
输出
Our Array...
[[0 1 2 3]
[4 5 6 7]]
Dimensions of our Array...
2
Datatype of our Array object...
int64
Shape of our Array object...
(2, 4)
Result...
[[ 8. 16.]
[11. 21.]
[14. 26.]
[17. 31.]]