在 Python 中计算点 x 处的切比雪夫级数,并扩展 x 的每个维度的系数数组形状

pythonnumpyserver side programmingprogramming

要计算点 x 处的切比雪夫级数,请使用 Python Numpy 中的 chebyshev.chebval(() 方法。第一个参数 x,如果 x 是列表或元组,则将其转换为 ndarray,否则保持不变并视为标量。无论哪种情况,x 或其元素都必须支持与自身以及 c 元素的加法和乘法。

第二个参数 C,一个按顺序排列的系数数组,以便 n 次项的系数包含在 c[n] 中。如果 c 是多维的,则其余索引枚举多个多项式。在二维情况下,系数可以被认为存储在 c 的列中。

第三个参数张量,如果为 True,则系数数组的形状将扩展为右边,x 的每个维度一个。标量在此操作中的维度为 0。结果是 c 中的每一列系数都会针对 x 的每个元素进行评估。如果为 False,则 x 会在 c 的列上广播以进行评估。当 c 是多维时,此关键字很有用。默认值为 True。

步骤

首先,导入所需的库 −

import numpy as np
from numpy.polynomial import chebyshev as C

创建系数的多维数组 −

c = np.arange(6).reshape(2,3)

显示数组 −

print("我们的数组...\n",c)

检查维度 −

print("\n我们的数组的维度...\n",c.ndim)

获取数据类型 −

print("\n我们的数组对象的数据类型...\n",c.dtype)

获取形状 −

print("\n我们的数组对象的形状...\n",c.shape)

要在点 x 处计算切比雪夫级数,请使用 chebyshev.chebval(() 方法 −

print("\nResult (chebval)...\n",C.chebval([1,2],c,tensor=True))

示例

import numpy as np
from numpy.polynomial import chebyshev as C

# 创建系数的多维数组
c = np.arange(6).reshape(2,3)

# 显示数组
print("我们的数组...\n",c)

# 检查维度
print("\n我们的数组的维度...\n",c.ndim)

# 获取数据类型
print("\n我们的数组对象的数据类型...\n",c.dtype)

# 获取形状
print("\n我们的数组对象的形状...\n",c.shape)

# 要在点 x 处计算切比雪夫级数,请使用 Python Numpy 中的 chebyshev.chebval(() 方法
print("\nResult (chebval)...\n",C.chebval([1,2],c,tensor=True))

输出

我们的数组...
   [[0 1 2]
   [3 4 5]]

我们的数组的维度...
2

我们的数组对象的数据类型...
int64

我们的数组对象的形状...
(2, 3)

Result (chebval)...
   [[ 3. 6.]
   [ 5. 9.]
   [ 7. 12.]]

相关文章