首先,我们需要导入NumPy库:
import numpy as np
完整攻略
- 要评估多项式,我们可以使用NumPy的
polyval
函数,该函数接受两个参数:多项式系数和自变量的值。我们可以使用NumPy的一维数组来表示多项式系数。例如,这是一个3次多项式:
p_coefficients = np.array([2, 1, 4, 3])
-
要扩展多项式系数或自变量的维度,我们可以使用NumPy的
reshape
函数或.newaxis
属性。具体如下: -
reshape
: 根据指定的维度大小,返回具有相同数据的新数组。例如,如果我们想将p_coefficients
数组扩展为形状(2, 2, 2)
,则可以使用以下命令:
p_coefficients_reshaped = p_coefficients.reshape((2, 2, 2)) # 3D 多项式系数
newaxis
: 该属性用于插入一个新维度。例如,如果我们想将一维自变量的形状(5,)
扩展为(5, 1)
,则可以使用以下命令:
x = np.array([1, 2, 3, 4, 5])
x_expanded = x[:, np.newaxis] # 2D 自变量
- 将扩展后的数组作为参数传递给
polyval
函数,即可使用多项式系数和自变量计算多项式值。例如,以下示例演示了如何计算2D多项式:
# 2D 多项式系数
p_coefficients_2D = np.array([[2, 1, 4], [1, 2, 3]])
# 2D 自变量
x = np.array([[-1, 0, 1], [1, 2, 3]])
# 计算2D多项式
p_values = np.polyval(p_coefficients_2D, x)
在上面的示例中,p_values
数组包含了p_coefficients_2D
定义的2D多项式在给定x
自变量时的计算结果。
- 另一个示例,演示如何扩展一维自变量和多项式系数的维度,然后对它们进行多维多项式计算:
# 1D 多项式系数
p_coefficients = np.array([2, 1, 4, 3])
# 1D 自变量
x = np.array([1, 2, 3])
# 将维度扩展为2D
p_coefficients_expanded = p_coefficients[np.newaxis, :]
x_expanded = x[:, np.newaxis]
# 计算2D多项式
p_values = np.polyval(p_coefficients_expanded, x_expanded)
在上面的示例中,我们分别使用newaxis
将1D自变量和多项式系数扩展为2D,然后使用polyval
函数计算2D多项式值。p_values
数组包含了1D多项式在扩展后的2D自变量上的计算结果。
总结
使用polyval
函数,我们可以快速、简单地计算多项式在给定自变量处的值。使用reshape
函数或newaxis
属性,我们可以扩展多项式系数或自变量的维度,以实现多维多项式计算。