在Python中使用NumPy,可以很方便地对数组进行操作。在本示例中,我们将使用NumPy来计算多项式函数在给定点的值。
首先,需要明确多项式函数的定义。一个n次多项式可以表示为 a[0] + a[1] * x + … + a[n-1] * x^(n-1) + a[n] * x^n,其中 a 是系数数组,x 是给定的点。
下面是在点x上广播评估一个多项式的系数列的几个步骤:
1. 引入NumPy库
import numpy as np
2. 定义多项式系数数组
coeffs = np.array([1, 2, 3]) # 系数数组为 [1, 2, 3]
3. 定义点x
x = 2 # 给定的点为2
4. 计算多项式在点x的值
result = np.polyval(coeffs, x) # 计算多项式在点x的值
print(result) # 输出结果为 17
在这个例子中,多项式为 $1 + 2x + 3x^2$,给定的点为2。使用NumPy中的 np.polyval
函数来计算多项式在点x的值。最终得到的结果为17。
下面是另一个计算多项式在点x的值的例子,这次我们将多项式作为字符串传递给 np.polyval
函数。
coeffs_str = "1 2 3" # 系数数组为 "1 2 3"
x = 2 # 给定的点为2
coeffs = np.fromstring(coeffs_str, sep=' ') # 将系数字符串转换为数组
result = np.polyval(coeffs, x) # 计算多项式在点x的值
print(result) # 输出结果为 17
这次我们使用了 np.fromstring
函数将字符串转换成数组,然后再调用 np.polyval
函数计算多项式在点x的值。最终结果也为17。