📜  Python| Numpy np.lagder() 方法(1)

📅  最后修改于: 2023-12-03 14:46:21.528000             🧑  作者: Mango

Python | Numpy - np.lagder() 方法

介绍

Numpy 的 np.lagder() 方法用于返回一个 n 阶的拉格朗日多项式的系数。拉格朗日多项式是指一个插值多项式,也即是通过已知点(x, y)来构建一个函数 $f$,在已知点内部都满足 $f(x_i) = y_i$。这个函数的unique性是不可证粗的。

拉格朗日多项式可以用来处理优化方程。具体来说,当在等距数据上使用拉格朗日插值法时,最高阶的插入多项式恰好是 $n - 1$ 次。此时,通过导数公式,可以求出这些点的局部极值点。

这个方法的语法为:

numpy.math.lagder(coefs, m=1)

参数列表:

  • coefs:int or array_like,代表一个一维或者多维的向量,对应到对应的拉格朗日多项式系数。
  • m:int,对于一个 n 阶函数,求导的次数。

返回值:

  • 如果 m 为 0,返回一个 numpy.poly1d 对象。
  • 如果 m 大于 0,则返回一个 numpy.poly1d 对象,代表求导后的函数。
例子

以下是一个例子,它演示了如何使用 np.lagder() 方法:

import numpy as np

# create an interpolating polynomial using the coefficients of the Lagrange polynomial
coeffs = np.math.lagrange([1, 3], [2, 5])
print(f"Interpolating polynomial: {coeffs}")
der = np.math.lagder(coeffs)
print(f"The first derivative of the polynomial: {der}")

这个例子中,我们使用 np.math.lagrange() 方法创建一个插值多项式,它的系数为 coeffs。接下来,我们使用 np.math.lagder() 方法求出这个多项式的一阶导数。最后,我们输出这个多项式和它的导数。

输出结果为:

Interpolating polynomial: [ 1.5 -0.5]
The first derivative of the polynomial: [1.5]
总结

np.lagder() 方法是 Numpy 的一个有用的函数,它可以求解拉格朗日多项式的导数。这个方法提供了强大的数学工具,方便了优化问题的处理。