在Python中使用NumPy将切比雪夫级数提高到一个幂数
在这篇文章中,我们将介绍如何在Python中使用NumPy将切比雪夫级数提高到幂级。
polynomial.chebyshev.chebpow 方法
切比雪夫多项式和其他经典的正交多项式一样,可以从不同的起始位置定义。在这里,我们将看到如何在Python中把切比雪夫级数提高到幂级。NumPy 包为我们提供了 polynomial.chebyshev.chebpow() 方法来提升切比雪夫数列。下面是该方法的语法。
语法 : polynomial.chebyshev.chebpow(c, pow, maxpower=16)
参数 :
- c:切比雪夫级数的系数从低到高排列成一个一维阵列。
- pow:该系列的功率将根据指定的数字增加。
- maxpower:默认情况下,它是16。允许最大功率。
返回:返回一个提高的切比雪夫级数的数组。
示例 1:
这里,导入了NumPy包,并创建了一个代表切比雪夫数列系数的数组。Polynomial.chebyshev.chebpow()被用来提升切比雪夫数列,pow参数将切比雪夫数列提升到2次方。通过使用.shape、.dtype和.ndim属性找到数组的形状、数据类型和尺寸。
# import packages
import numpy as np
from numpy.polynomial import chebyshev
# Creating an array
array = np.array([3,1,4])
print(array)
# shape of the array is
print("Shape of the array is : ",array.shape)
# dimension of the array
print("The dimension of the array is : ",array.ndim)
# Datatype of the array
print("Datatype of our Array is : ",array.dtype)
# raising chebyshev series to the power 2
print(chebyshev.chebpow(array,2))
输出:
[3 1 4]
Shape of the array is : (3,)
The dimension of the array is : 1
Datatype of our Array is : int64
[17.5 10. 24.5 4. 8. ]
示例 2:
在这个例子中,一个新的参数maxpower被返回,它代表允许的最大功率。我们不能给pow参数一个大于最大功率的值,否则会出现ValueError,说 “功率太大”。
# import packages
import numpy as np
from numpy.polynomial import chebyshev
# Creating an array
array = np.array([3,1,4])
print(array)
# shape of the array is
print("Shape of the array is : ",array.shape)
# dimension of the array
print("The dimension of the array is : ",array.ndim)
# Datatype of the array
print("Datatype of our Array is : ",array.dtype)
# raising chebyshev series to the power 2
print(chebyshev.chebpow(array,6,maxpower=5))
输出:
[3 1 4]
Shape of the array is : (3,)
The dimension of the array is : 1
Datatype of our Array is : int64
—————————————————————————
ValueError Traceback (most recent call last)
<ipython-input-9-67269c531325> in <module>()
17
18 # raising chebyshev series to the power 2
—> 19 print(chebyshev.chebpow(array,6,maxpower=5))
/usr/local/lib/python3.7/dist-packages/numpy/polynomial/chebyshev.py in chebpow(c, pow, maxpower)
858 raise ValueError(“Power must be a non-negative integer.”)
859 elif maxpower is not None and power > maxpower:
–> 860 raise ValueError(“Power is too large”)
861 elif power == 0:
862 return np.array([1], dtype=c.dtype)
ValueError: Power is too large