Numpy快速处理数据--多项式函数poly1d( )函数

多项式函数是变量的整数次冥与系数的乘积之和,可以用下面的公式表示:

如果f(x) = 2x+x +1

a= np.array([2,1,1])

p = np.poly1d(a)

p
Out[78]: poly1d([2, 1, 1])      #等同于2*x + 1* x+1*x0 = 2x+ x +1

print(p)

2 x2 + 1 x + 1

带入值:

p([1,2,3])

Out[80]: array([ 4, 11, 22])

对poly1d( )对象进行加减乘除运算,相当于对应多项式函数进行计算,如:

  1. >>> p+[-2,1] #和p+np.poly1d([-2,1])相同,-2x+1        等于2x+x +1 -2x  +1 = 2x-x +2
  2. Out[81]: poly1d([ 2, -1,  2])
  3. >>> p*p #两个3次多项式相乘,得到一个6次多项式     等于(2x+x +1)2=4x4 + 4x3 +5x2+2x+1
  4. Out[82]:poly1d([4, 4, 5, 2, 1])
  5. >>> p/[1,1] #返回2个多项式除法的结果,分别为商式和余式
  6. Out[83]: (poly1d([ 2., -1.]), poly1d([ 2.]))          (x+1)(2x-1)+2 = 2x2+x +1
  7. >>>

多项式对象的deriv( )和integ( )方法分别用于计算多项式函数的微分和积分,如:

p.deriv()     #微分
Out[84]: poly1d([4, 1])

p.integ()     #积分
Out[85]: poly1d([ 0.66666667, 0.5 , 1. , 0. ])

多项式函数的根可以用roots( )计算:

np.roots(p)
Out[86]: array([-0.25+0.66143783j, -0.25-0.66143783j])

除了使用多项式对象外,还可以直接使用Numpy提供的多项式函数对多项式系数的数组进行运算,主要函数包括:np.poly, np.polyadd, np.polydiv, np.polyint, np.polysub, np.poly1d, np.polyder, np.polyfit, np.polymul, np.polyval等。

原文地址:https://www.cnblogs.com/fengguozhuying/p/9167576.html

时间: 2024-10-09 17:49:28

Numpy快速处理数据--多项式函数poly1d( )函数的相关文章

Python科学计算:用NumPy快速处理数据

创建数组 import numpy as np a=np.array([1,2,3]) b=np.array([[1,2,3],[4,5,6],[7,8,9]]) b[1,1]=10 print(a.shape) print(b.shape) print(a.dtype) print(b) 结构数组 import numpy as np persontype=np.dtype({ "names":["name","age","chine

Python科学计算学习一 NumPy 快速处理数据

1 创建数组 (1) array(boject, dtype=None, copy=True, order=None, subok=False, ndmin=0) a = array([1, 2, 3, 4]) b = array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]) a.dtype    --> dtype('int32') a.shape    --> (4,) b.shape    -->(3, 4) a.shape=2, -

【转载】C/C++杂记:深入理解数据成员指针、函数成员指针

原文:C/C++杂记:深入理解数据成员指针.函数成员指针 1. 数据成员指针 对于普通指针变量来说,其值是它所指向的地址,0表示空指针.而对于数据成员指针变量来说,其值是数据成员所在地址相对于对象起始地址的偏移值,空指针用-1表示.例: 代码示例:   2. 函数成员指针 函数成员指针与普通函数指针相比,其size为普通函数指针的两倍(x64下为16字节),分为:ptr和adj两部分. (1) 非虚函数成员指针 ptr部分内容为函数指针(指向一个全局函数,该函数的第一个参数为this指针),ad

sdut 3-6 静态数据成员与静态成员函数

3-6 静态数据成员与静态成员函数 Time Limit: 1000MS Memory limit: 65536K 题目描述 通过本题目的练习可以掌握静态数据成员和静态成员函数的用法 要求设计一个点类Point,它具有两个double型的数据成员x,y.和一个静态数据成员count ,用以记录系统中创建点对象的数目.为该类设计构造函数和析构函数,在其中对count的值做修改,体现点的数目的动态变化.并为其添加一个静态成员函数用以输出count的值:成员函数showPoint()用于输出点的信息.

byte数据的常用操作函数[转发]

1 /// <summary> 2 /// 本类提供了对byte数据的常用操作函数 3 /// </summary> 4 public class ByteUtil 5 { 6 private static char[] HEX_CHARS = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; 7 private static byte[] BITS = {0x01, 0x02, 0x04, 0x0

Python3快速入门(五)——Python3函数

Python3快速入门(五)--Python3函数 一.函数定义 1.函数定义 Python 定义函数使用 def 关键字,一般格式如下: def function_name(parameter_list): pass 默认情况下,参数值和参数名称按函数声明中定义的顺序进行匹配.函数代码块以?def?关键词开头,后接函数标识符名称和圆括号?().任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数.函数的第一行语句可以选择性地使用文档字符串描述函数说明.函数内容以冒号起始,并且进行

使用Chrome快速实现数据的抓取(四)——优点

些一个抓取WEB页面的数据程序比较简单,大多数语言都有相应的HTTP库,一个简单的请求响应即可,程序发送Http请求给Web服务器,服务器返回HTML文件.交互方式如下: 在使用DevProtocol驱动Chrome抓取数据时,交互过程则如下图所示: 此时Chrome在中间充当了一个代理的角色,看上去变得更加复杂了,实际上却对于我们的蜘蛛程序大有帮助.本文就简单的总结下这种方式存在如下优点. 获取动态生成的网页内容 现在很多的网页内容的内容并不是一开是就能直接通过最初的Http请求直接获取到的,

转:SQL SERVER数据库中实现快速的数据提取和数据分页

探讨如何在有着1000万条数据的MS SQL SERVER数据库中实现快速的数据提取和数据分页.以下代码说明了我们实例中数据库的“红头文件”一表的部分数据结构: CREATE TABLE [dbo].[TGongwen] (    --TGongwen是红头文件表名 [Gid] [int] IDENTITY (1, 1) NOT NULL , --本表的id号,也是主键 [title] [varchar] (80) COLLATE Chinese_PRC_CI_AS NULL ,  --红头文件

(4.10) 快速导入数据

SQL Server快速导入数据分享 Posted in Other and tagged Database, 数据库, MSSQL, SQL Server, 导入数据, 分享on Apr 26, 2014. Viewd 61 times. 目录 目录 1.CTE 2.OpenRowSet/OpenDataSource 3.BULK INSERT 4.bcp 5.Shell 文/温国兵 SQL Server快速导入数据,可以尝试的方法如下:CTE.OpenRowSet/OpenDataSourc