本文代码主要演示如何使用poly1d进行多项式计算和符号计算。

>>> from scipy import poly1d

>>> p1 = poly1d([1,2,3,4])
# 输出结果中,第一行的数字为第二行对应位置项中x的指数
>>> print(p1)
   3     2
1 x + 2 x + 3 x + 4

# 等价于p2=(x-1)(x-2)(x-3)(x-4)
>>> p2 = poly1d([1,2,3,4], True)
>>> print(p2)
   4      3      2
1 x - 10 x + 35 x - 50 x + 24

# 使用z作为变量,这只是个形式,并不影响计算
>>> p3 = poly1d([1,2,3,4], variable='z')
>>> print(p3)
   3     2
1 z + 2 z + 3 z + 4

# 把多项式中的变量替换为指定的值

# 多项式求值
>>> p1(0)
4
>>> p1(1)
10

# 计算多项式对应方程的根
>>> p1.r
array([-1.65062919+0.j        , -0.17468540+1.54686889j,
       -0.17468540-1.54686889j])
# 把根带入多项式验证一下

>>> p1(p1.r[0])
(-8.8817841970012523e-16+0j)

# 查看和修改多项式的系数
>>> p1.c
array([1, 2, 3, 4])
>>> print(p3)
   3     2
1 z + 2 z + 3 z + 4
>>> p3.c[0] = 5
>>> print(p3)
   3     2
5 z + 2 z + 3 z + 4

# 查看多项式最高阶
>>> p1.order
3

# 查看指定指数对应的项的系数
# 例如,在p1多项式中,指数为3的项的系数为1
>>> p1[3]
1
>>> p1[0]
4

# 加、减、乘、除、幂运算
>>> print(p1)
   3     2
1 x + 2 x + 3 x + 4
>>> print(-p1)
    3     2
-1 x - 2 x - 3 x - 4

>>> print(p2)
   4      3      2
1 x - 10 x + 35 x - 50 x + 24
>>> print(p1 + 3)
   3     2
1 x + 2 x + 3 x + 7
>>> print(p1 + p2)
   4     3      2
1 x - 9 x + 37 x - 47 x + 28
>>> print(p1 - 5)
   3     2
1 x + 2 x + 3 x - 1
>>> print(p2 - p1)
   4      3      2
1 x - 11 x + 33 x - 53 x + 20
>>> print(p1 * 3)
   3     2
3 x + 6 x + 9 x + 12
>>> print(p1 * p2)
   7     6      5     4      3      2
1 x - 8 x + 18 x - 6 x - 11 x + 38 x - 128 x + 96
>>> p1 * p2
poly1d([   1.,   -8.,   18.,   -6.,  -11.,   38., -128.,   96.])
# 除法返回商多项式和余多项式

>>> print(p1*p2 / p2)
(poly1d([ 1.,  2.,  3.,  4.]), poly1d([ 0.]))
>>> print(p2/p1)
(poly1d([  1., -12.]), poly1d([ 56., -18.,  72.]))

# 多项式的幂运算
>>> print(p1 ** 2)
   6     5      4      3      2
1 x + 4 x + 10 x + 20 x + 25 x + 24 x + 16
>>> print(p1 * p1)
   6     5      4      3      2
1 x + 4 x + 10 x + 20 x + 25 x + 24 x + 16

# 一阶导数
>>> print(p1.deriv())
   2
3 x + 4 x + 3
# 二阶导数
>>> print(p1.deriv(2))
 
6 x + 4

# 当x=1时二阶导数多项式的值

>>> print(p1.deriv(2)(1))
10

# 多项式的不定积分
# 一重不定积分,设常数项为0
>>> print(p1.integ(m=1, k=0))
      4          3       2
0.25 x + 0.6667 x + 1.5 x + 4 x
# 二重不定积分,设常数项为3
>>> print(p1.integ(m=2, k=3))
      5          4       3     2
0.05 x + 0.1667 x + 0.5 x + 2 x + 3 x + 3

Python使用scipy进行多项式计算与符号计算相关推荐

  1. python应用-scipy,numpy,sympy计算微积分

    python应用-scipy,numpy,sympy计算微积分 今天来讲一下使用python进行微积分运算,python有很多科学计算库都可以进行微积分运算,当然如果知晓微积分计算的原理也可以自己编程 ...

  2. python多项分式求和计算_python实现利用留数定理分解分式多项式

    编写之初 由于利用留数定理分解分式多项式的计算麻烦,所以决定用python做一个利用留数定理分解分式多项式程序,实现只要输入多项式就可以得到各种中间参数和最终拆分结果的目的.从本程序可以得到:分解后每 ...

  3. python 利用Scipy计算person 和spearman相关系数

    python 利用Scipy计算person 和spearman相关系数 觉得有用的话,欢迎一起讨论相互学习~ 学习以下两位大佬的讲解 (Pearson)皮尔逊相关系数和spearman相关系数(附p ...

  4. 层次聚类算法及通过python的scipy进行计算

    目录 1.什么是层次聚类? 2. 如何用python实现 参考链接: 1.什么是层次聚类? 常用于 1维数据 的自动分组,如下图所示, 把数据用[主成分分析]的方法把数据从多维压缩为1维, 然后使用层 ...

  5. Python中scipy中weibull分布的计算

    scipy.stats.exponweib:scipy包中计算weibull分布的函数. from scipy.stats import exponweib 密度函数的格式:exponweib.pdf ...

  6. python中Scipy模块求取积分

    python中Scipy模块求取积分的方法: SciPy下实现求函数的积分的函数的基本使用,积分,高等数学里有大量的讲述,基本意思就是求曲线下面积之和. 其中rn可认为是偏差,一般可以忽略不计,wi可 ...

  7. python 科学计算基础教程电子版-自学Python 编程基础、科学计算及数据分析

    自学Python 编程基础.科学计算及数据分析 epub pdf mobi txt 下载 自学Python 编程基础.科学计算及数据分析 epub pdf mobi txt 下载 ☆☆☆☆☆ 李金 著 ...

  8. 全面对比 MATLAB、Julia、Python,谁在科学计算中更胜一筹?

    数百种编程语言,各有优劣,各自也都有自己最为适用的场景.那么就科学计算领域而言,主流的 MATLAB.Julia.Python 会有哪些最为独特的优势呢?又存在哪些让开发者无力的缺陷?在本文中,我们将 ...

  9. Matlab和Python(Numpy,Scipy)与Lapack的关系

    说到数值计算,可能许多人都能立马想到Matlab.Matlab多年的持续影响力已经让它成为许多人心中科学计算的代名词.但它底层一个重要的库Lapack却很少有人知道. 而Python年龄比Matlab ...

最新文章

  1. Object-c基础之一:#import,NSLog(),数据类型
  2. 腾讯GaiaStack容器平台负责人罗韩梅:All on GaiaStack
  3. Microsoft Power BI Desktop概念学习系列之Microsoft Power BI Desktop的官网自带示例数据(图文详解)...
  4. oracle rac alter日志,ORACLE 11G RAC 增加日志组及增大日志文件
  5. iPhone企业应用实例分析之一:系统介绍和需求及主要用例
  6. canvas设置字体粗细用数字没效果_干货 | 用uni-app制作迷你PS小程序
  7. web of science,SSCI索引,带你入门!
  8. 【知识图谱】关系抽取
  9. thinkpad指点杆(trackpoint)在WPS的word文档中失效的解决办法
  10. 大数据分析案例-用RFM模型对客户价值分析(聚类)
  11. 厦门理工学院1219 (zyf的童年) (纯C语言版本)
  12. nginx代理内网服务器的图片服务器
  13. Kademlia详解 (转贴NeoRagex2002)
  14. Win XP iis组件补丁(ghost xp)iis5.1
  15. matlab 开4次方根,matlab中计算四次方方程a*x^4+b*x+c=0的实数根.
  16. 苹果前CEO约翰·斯卡利联合创办的公司Misfit获760万美元融资
  17. Neurodevelopment of the association cortices: Patterns, mechanisms:综述——联合皮层神经发育的模式和对精神病学的启发
  18. 华为云挂载盘配置挂载
  19. 开源一个IDA小插件:修复VMP dump导入函数
  20. 测度论与概率论基础学习笔记4——2.2外测度

热门文章

  1. java 快速删除文件夹_如何用Java删除文件夹里的所有文件?
  2. Android点击图片随机,android 设置图片随机出现-两种方式
  3. linux下比较文件并输出,Linux使用diff命令比较文件的方法
  4. 解决oracle客户端乱码问题,如何解决oracle客户端中文乱码问题?-Oracle
  5. oracle 批量给字段加注释,Oracle给表和字段添加注释
  6. python for android 安装配置_mac appium for android 环境搭建 (appium python pycharm)
  7. cad高程如何提取到cass软件_从CAD平面图中提取坐标生成数据表
  8. rshd: 0826-813 Permission is denied.
  9. windows系统下maven环境搭建
  10. jsp显示服务器路径下的图片,jsp 从服务器获取图片路径