在HakerRank上做题,发现对多项式的讲解比较清晰,查找了下网上中文说的不是特别清楚,因此浅记录下。
一、poly
The poly tool returns the coefficients of a polynomial with the given sequence of roots.
poly可以在已知多项式根的情况下返回多项式系数
print numpy.poly([-1, 1, 1, 10]) #Output : [ 1 -11 9 11 -10]
上图多项式已知根-1,1,1,10,则多项式为
二、roots
The roots tool returns the roots of a polynomial with the given coefficients.
roots可以在已知多项式系数的情况下求根(与poly相反)
print numpy.roots([1, 0, -1]) #Output : [-1. 1.]
三、polyint
The polyint tool returns an antiderivative (indefinite integral) of a polynomial.
polyint可以返回已知系数多项式的原多项式(原多项式求导之后就是该已知系数多项式)
print numpy.polyint([1, 1, 1]) #Output : [ 0.33333333 0.5 1. 0. ]
已知则他的原函数为
四、polyder
The polyder tool returns the derivative of the specified order of a polynomial.
polyder可以返回多项式求导后的结果(与polyint相反)
print numpy.polyder([1, 1, 1, 1]) #Output : [3 2 1]
五、polyval
The polyval tool evaluates the polynomial at specific value.
polyval可以求得多项式在特定点的值
print numpy.polyval([1, -2, 0, 2], 4) #Output : 34
已知多项式,该多项式在的值为34
六、polyfit
The polyfit tool fits a polynomial of a specified order to a set of data using a least-squares approach.
polyfit返回多项式拟合(应该是最小二乘法)的结果
print numpy.polyfit([0,1,-1, 2, -2], [0,1,1, 4, 4], 2)
#Output : [ 1.00000000e+00 0.00000000e+00 -3.97205465e-16]
上图已知采样点为(0,0)、(1,1)、(-1,1)、(2,4)、(-2,4),x项系数为2
拟合后得到多项式