如何在X处评估多项式和系数的形状 NumPy数组为每个维度进行扩展

  • Post category:Python

要在 NumPy 数组中评估多项式,可以使用 numpy.polyval 函数。该函数接受两个参数:多项式数组和需要为其计算多项式值的自变量数组。

以下是步骤:

1.准备多项式系数数组,一般来说是按照从高阶到低阶的顺序排列,例如:[3, 0, 1, 5] 表示 $3x^3 + x^2 + 5$。

2.准备自变量数组,可以是任何形状的 NumPy 数组,可以进行扩展操作。

3.使用 numpy.polyval 函数计算多项式值。该函数返回一个数组,其中每个元素都是在给定自变量时多项式的值。

以下是两个示例说明:

import numpy as np

# 示例1:对于一维数组的多项式计算
coeffs = [1, 2, 1]  # 表示 x^2 + 2x + 1
x = np.array([1, 2, 3])  # 自变量
y = np.polyval(coeffs, x)  # 计算多项式值
print(y)
# 输出:[ 4  9 16]

# 示例2:对于二维数组的多项式计算,在每个维度上进行扩展
coeffs_2d = np.array([[1, 0, 0], [0, 2, 0], [0, 0, 3]])  # 表示三个二次多项式,x^2, 2x^2, 3x^2
x_2d = np.array([[1, 2], [3, 4], [5, 6]])  # 自变量,两个维度均为3
y_2d = np.polyval(coeffs_2d, x_2d)  # 计算多项式值
print(y_2d)
# 输出:
# [[ 1  4]
#  [ 9 16]
#  [25 36]]

以上就是使用 numpy.polyval 函数评估多项式和系数的形状的完整攻略,可以根据需要进行自变量数组的维度扩展操作。