NumPy新polynomial API中,Polynomial实例下np.polyval的等效方法?
等效实现方式
当p是np.polynomial.Polynomial(p)的实例时,无需手动循环逐个计算,直接调用该实例并传入整个x数组即可,等效代码如下:
from numpy.polynomial import Polynomial import numpy as np p = Polynomial([1, 2, 3]) x = np.linspace(0, 1, 10) y = p(x)
Polynomial类内置了__call__方法,支持直接传入数组类型的自变量,内部会批量完成所有点的多项式值计算,比手动循环更高效,也契合NumPy的向量化编程逻辑。- 和原代码对比:原代码通过列表推导式逐个元素调用
np.polyval,新API的实例调用直接处理整个数组,计算结果完全一致,但性能更优。
内容的提问来源于stack exchange,提问作者Paul Jurczak
相关产品推荐
相关产品推荐

