要评估多项式和系数的形状,我们可以使用NumPy中的numpy.polyval()
函数。该函数接受两个参数:a和x。其中a是多项式的系数,以NumPy数组的形式表示,x是要在多项式中评估的位置。
如果我们想要对多维数字数组进行扩展,我们可以使用NumPy的广播功能。 我们可以将要扩展的数组传递给numpy.polyval()
函数,以此来对数组进行扩展。
以下是如何在X处评估多项式和系数的形状 NumPy数组为每个维度进行扩展的完整攻略。
步骤一:导入NumPy
import numpy as np
步骤二:创建多项式系数数组和评估位置
a = np.array([1, 2, 3]) # 多项式系数数组
x = np.array([4, 5, 6]) # 要在多项式中评估的位置
步骤三:对多维数组进行扩展
我们可以使用NumPy的广播功能,将数组进行扩展。例如,如果我们有一个二维数组B,我们可以将其扩展为具有与a相同形状的数组C,如下所示:
B = np.array([[1, 2], [3, 4]])
C = B[..., np.newaxis] # 扩展
步骤四:评估多项式
现在我们可以使用numpy.polyval()
函数来在多项式中评估位置x,并扩展多维数组。如下所示:
result = np.polyval(a, x) # 评估多项式
result_c = np.polyval(a, C) # 在多维数组中评估多项式
result
和result_c
都将返回多项式在位置x处的值。
以下是两个示例说明:
示例一:
# 创建多项式系数数组和评估位置
a = np.array([1, 2, 3])
x = np.array([4, 5, 6])
# 扩展多维数组
B = np.array([[1, 2], [3, 4]])
C = B[..., np.newaxis]
# 在多项式中评估位置
result = np.polyval(a, x)
result_c = np.polyval(a, C)
print(result)
# 输出:[ 27 38 51]
print(result_c)
# 输出:
# array([[[ 6, 11],
# [20, 27]],
#
# [[ 9, 14],
# [32, 39]],
#
# [[12, 17],
# [44, 51]]])
示例二:
# 创建多项式系数数组和评估位置
a = np.array([2, 3, 4])
x = np.array([[5, 6, 7], [8, 9, 10]])
# 扩展多维数组
B = np.array([1, 2, 3, 4]).reshape((2, 2))
C = B[..., np.newaxis]
# 在多项式中评估位置
result = np.polyval(a, x)
result_c = np.polyval(a, C)
print(result)
# 输出:
# array([[ 73, 118, 169],
# [230, 289, 354]])
print(result_c)
# 输出:
# array([[[10, 14],
# [22, 26]],
#
# [[25, 30],
# [38, 43]]])
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何在X处评估多项式和系数的形状 NumPy数组为每个维度进行扩展 - Python技术站