在Python中使用NumPy对切比雪夫级数进行微分
在这篇文章中,我们将介绍如何在Python中使用NumPy对切比雪夫级数进行积分并设置积分常数。
chebyshev.chebder 方法
切比雪夫数列具有最大可能的前导系数的多项式,其在区间[-1, 1]上的绝对值以1为界,它们也是 “极值 “多项式。切比雪夫多项式在逼近理论中意义重大,因为Tn(x)的根,也叫切比雪夫节点,被用作优化多项式内插的匹配点。所得的插值多项式使Runge现象的问题最小化,提供的近似值接近于最大规范下连续函数的最佳多项式近似值,也称为 “最小 “准则。
在python中,为了进行切比雪夫微分,NumPy提供了一个名为chebyshev.chebder的函数,可以用来对切比雪夫数列进行积分。这个函数返回沿轴线微分m次的切比雪夫级数系数c。
语法: chebyshev.chebder(c, m=1, scl=1, axis=0)
参数:
- c – 切比雪夫级数系数数组
- m – 所取的导数数量,必须为非负数
- scl – 标度器(线性)值,每次微分都要乘以scl。
- axis – 接受导数的轴。 默认 – 0
返回:切比雪夫系列
示例 1:
在第一个例子中,让我们考虑一个具有一阶导数的一维数组,1作为比例常数。如图所示,导入必要的包,并传递适当的参数,如下图所示。
import numpy as np
from numpy.polynomial import chebyshev
# co.efficient array
c = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 11])
print(f'The shape of the array is {c.shape}')
print(f'The dimension of the array is {c.ndim}D')
print(f'The datatype of the array is {c.dtype}')
res = chebyshev.chebder(c, m=1, scl=1)
# differentiated chebyshev series with
# first order derivative and scale 1
print(f'Resultant series ---> {res}')
输出:
示例 2:
在第二个例子中,让我们考虑一个具有二阶导数的一维数组和5作为缩放常数。如图所示,导入必要的包,并传递适当的参数,如下图所示。
import numpy as np
from numpy.polynomial import chebyshev
# co.efficient array
c = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 11])
print(f'The shape of the array is {c.shape}')
print(f'The dimension of the array is {c.ndim}D')
print(f'The datatype of the array is {c.dtype}')
res = chebyshev.chebder(c, m=2, scl=5)
# differentiated chebyshev series with
# second order derivative and scale 5
print(f'Resultant series ---> {res}')
输出:
示例 3:
在第三个例子中,让我们考虑一个具有三阶导数的一维数组和7作为缩放常数。如图所示,导入必要的包,并传递适当的参数,如下图所示。
import numpy as np
from numpy.polynomial import chebyshev
# co.efficient array
c = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 11])
print(f'The shape of the array is {c.shape}')
print(f'The dimension of the array is {c.ndim}D')
print(f'The datatype of the array is {c.dtype}')
res = chebyshev.chebder(c, m=3, scl=7)
# differentiated chebyshev series with
# third order derivative and scale 7
print(f'Resultant series ---> {res}')
输出: