Numpy快速处理数据--多项式函数(四)
2015-05-30 09:39
405 查看
多项式函数是变量的整数次冥与系数的乘积之和,可以用下面的公式表示:
由于多项式函数只包含加法和乘法运算,因此计算容易,并且可以用于计算其他数学函数的近似值。在Numpy中,多项式函数的系数可以用一维数组表示,如f(x) =x^3-2x+1,则可以表示为数组:
系数可以通过poly1d( )函数转换为多项式对象,此对象可以像函数一样调用,它返回多项式函数的值,如:
多项式对象的deriv( )和integ( )方法分别用于计算多项式函数的微分和积分,如:
由于多项式函数只包含加法和乘法运算,因此计算容易,并且可以用于计算其他数学函数的近似值。在Numpy中,多项式函数的系数可以用一维数组表示,如f(x) =x^3-2x+1,则可以表示为数组:
a = np.array([1.0,0,-2,1])其中a[0]是最高次项,a[-1]是常数项。
系数可以通过poly1d( )函数转换为多项式对象,此对象可以像函数一样调用,它返回多项式函数的值,如:
>>> a = np.array([1.0,0,-2,1]) >>> p = np.poly1d(a) >>> type(p) <class 'numpy.lib.polynomial.poly1d'> >>> p(np.linspace(0,1,5)) array([ 1. , 0.515625, 0.125 , -0.078125, 0. ]) >>>对poly1d( )对象进行加减乘除运算,相当于对应多项式函数进行计算,如:
>>> p+[-2,1] #和p+np.poly1d([-2,1])相同,-2x+1 poly1d([ 1., 0., -4., 2.]) >>> p*p #两个3次多项式相乘,得到一个6次多项式 poly1d([ 1., 0., -4., 2., 4., -4., 1.]) >>> p/[1,1] #返回2个多项式除法的结果,分别为商式和余式 (poly1d([ 1., -1., -1.]), poly1d([ 2.])) >>>上面的商式为:x^2-x-1,余式为2。
多项式对象的deriv( )和integ( )方法分别用于计算多项式函数的微分和积分,如:
>>> p.deriv() poly1d([ 3., 0., -2.]) >>> p.integ() poly1d([ 0.25, 0. , -1. , 1. , 0. ])多项式函数的根可以用roots( )计算:
>>> r = np.roots(p) >>> r array([-1.61803399, 1. , 0.61803399]) >>>而poly()函数可以将根转换为多项式的系数,如:
>>> np.poly(r) array([ 1.00000000e+00, -1.22124533e-15, -2.00000000e+00, 1.00000000e+00]) >>>除了使用多项式对象外,还可以直接使用Numpy提供的多项式函数对多项式系数的数组进行运算,主要函数包括:np.poly, np.polyadd, np.polydiv, np.polyint, np.polysub, np.poly1d, np.polyder, np.polyfit, np.polymul, np.polyval等。
相关文章推荐
- Python基础:07迭代器
- Python基础:06条件和循环
- Python批量查找和删除文件操作
- arcPython细节汇总
- python中sorted实战应用
- Python中sorted()方法的用法
- Python学习笔记(一)
- python super研究
- python实现简单表单校验框架
- 使用url_helper简化Python中Django框架的url配置教程
- 在Python的Django框架下使用django-tagging的教程
- 使用Python的Django框架中的压缩组件Django Compressor
- 利用python建表
- python连接mysql
- python中文字符串前加u
- Fields in python
- python 中keyword argument和non-key argument
- [Python]项目打包:5步将py文件打包成exe文件
- 以Python Imaging Library 进行影像资料处理PIL
- Python正则表达式教程