numpy.polynomial#
一个用于高效处理多项式的子包。
在此子包的文档中,“有限幂级数”,即多项式(也简称为“级数”),由多项式系数的 1-D numpy 数组表示,按从低阶项到高阶项的顺序排列。例如,数组 `array([1,2,3])` 表示 P_0 + 2*P_1 + 3*P_2,其中 `P_n` 是适用于特定模块的 n 阶基多项式,例如 polynomial(它“封装”了“标准”基)或 chebyshev。为获得最佳性能,所有多项式操作,包括在给定参数处的求值,都作为系数上的操作实现。更多(模块特定的)信息可以在相关模块的文档字符串中找到。
此包为六种不同类型的多项式提供了便捷类
这些便捷类为使用不同基的多项式创建、操作和拟合数据提供了统一的接口。便捷类是 polynomial 包的首选接口,可从 numpy.polynomial 命名空间中获取。这消除了导航到相应子模块的需要,例如,使用 np.polynomial.Polynomial 或 np.polynomial.Chebyshev,而不是 np.polynomial.polynomial.Polynomial 或 np.polynomial.chebyshev.Chebyshev。与为每种多项式类型在子模块中定义的类型特定函数相比,这些类提供了更一致和简洁的接口。例如,要将一个 1 次的切比雪夫多项式拟合到由数组 xdata 和 ydata 给出的数据,fit 类方法
>>> from numpy.polynomial import Chebyshev
>>> xdata = [1, 2, 3, 4]
>>> ydata = [1, 4, 9, 16]
>>> c = Chebyshev.fit(xdata, ydata, deg=1)
优于 np.polynomial.chebyshev 模块中的 chebyshev.chebfit 函数。
>>> from numpy.polynomial.chebyshev import chebfit
>>> c = chebfit(xdata, ydata, deg=1)
有关更多详细信息,请参阅使用便捷类。
便捷类#
以下列出了表示各种多项式类型的所有类共有的各种常量和方法。在下文中,术语 Poly 代表任何一个便捷类(例如 Polynomial、Chebyshev、Hermite 等),而小写 p 则代表多项式类的实例。
常量#
- Poly.domain– 默认域
- Poly.window– 默认窗口
- Poly.basis_name– 用于表示基的字符串
- Poly.maxpower– 允许的最大- n值,使得- p**n有效
创建#
用于创建多项式实例的方法。
- Poly.basis(degree)– 给定次数的基多项式
- Poly.identity()–- p,其中对于所有- x,- p(x) = x
- Poly.fit(x, y, deg)– 次数为- deg的- p,其系数由对数据- x,- y的最小二乘拟合确定
- Poly.fromroots(roots)– 具有指定根的- p
- p.copy()– 创建- p的副本
转换#
用于将一种多项式实例转换为另一种的方法。
- p.cast(Poly)– 将- p转换为- Poly类型实例
- p.convert(Poly)– 将- p转换为- Poly类型实例或在- domain和- window之间进行映射
微积分#
- p.deriv()– 计算- p的导数
- p.integ()– 对- p求积分
验证#
- Poly.has_samecoef(p1, p2)– 检查系数是否匹配
- Poly.has_samedomain(p1, p2)– 检查域是否匹配
- Poly.has_sametype(p1, p2)– 检查类型是否匹配
- Poly.has_samewindow(p1, p2)– 检查窗口是否匹配
杂项#
- p.linspace()– 返回- domain中等间距点的- x, p(x)
- p.mapparms()– 返回- domain和- window之间线性映射的参数。
- p.roots()– 返回- p的根。
- p.trim()– 移除尾随系数。
- p.cutdeg(degree)– 将- p截断到给定次数
- p.truncate(size)– 将- p截断到给定大小
配置#
| 设置多项式字符串表示的默认格式。 |