在Python中求多项式的微分
要求多项式的微分,请使用Python的Numpy库中的多项式.polyder()方法。此方法返回按照给定次方差分m次的多项式系数c。在每次迭代中,结果将乘以scl(这个缩放因子用于线性变量的变化)。参数c是一个按照每个轴从低到高次幂排序的系数数组,例如,[1,2,3]代表多项式1 + 2*x + 3*x**2
,而[[1,2],[1,2]]代表1 + 1*x + 2*y + 2*x*y
,当axis=0时表示x,axis=1时表示y。
该方法返回导数的多项式系数。第一个参数c是一个多项式系数的数组。如果c是多维的,不同的轴对应不同的变量,每个轴的次数由相应的索引给出。第二个参数m是需要求导的次数,必须是非负的(默认为1)。
第三个参数是scl,每一次微分都会乘以scl。最终的结果是乘以scl**m
。这是用于线性变量改变的。第四个参数是axis,它表示沿着哪个轴求导(默认为0)。结果是(d/dx)(c)= 2 + 6x + 12x**2
。
步骤
首先,导入所需的库:
import numpy as np
from numpy.polynomial import polynomial as P
创建一个多项式系数的数组,即 1 + 2x + 3x**2 + 4x**3
−
c = np.array([1,2,3,4])
显示系数数组 –
print("Our coefficient Array...\n",c)
检查尺寸 –
print("\nDimensions of our Array...\n",c.ndim)
获取数据类型−
print("\nDatatype of our Array object...\n",c.dtype)
获取形状 –
print("\nShape of our Array object...\n",c.shape)
要求一多项式,使用Python Numpy中的多项式.polyder()方法-
print("\nResult...\n",P.polyder(c))
示例
import numpy as np
from numpy.polynomial import polynomial as P
# Create an array of polynomial coefficients i.e.
# 1 + 2x + 3x**2 + 4x**3
c = np.array([1,2,3,4])
# Display the coefficient array
print("Our coefficient Array...\n",c)
# Check the Dimensions
print("\nDimensions of our Array...\n",c.ndim)
# Get the Datatype
print("\nDatatype of our Array object...\n",c.dtype)
# Get the Shape
print("\nShape of our Array object...\n",c.shape)
# To differentiate a polynomial, use the polynomial.polyder() method in Python Numpy.
# Return the polynomial coefficients c differentiated m times along axis. At each iteration the result is multiplied by scl (the scaling factor is for use in a linear change of variable). The argument c is an array of coefficients from low to high degree along each axis, e.g., [1,2,3] represents the polynomial 1 + 2*x + 3*x**2 while [[1,2],[1,2]] represents 1 + 1*x + 2*y + 2*x*y if axis=0 is x and axis=1 is y.
print("\nResult...\n",P.polyder(c))
输出
Our coefficient Array...
[1 2 3 4]
Dimensions of our Array...
1
Datatype of our Array object...
int64
Shape of our Array object...
(4,)
Result...
[ 2. 6. 12.]