Python使用scipy进行多项式计算与符号计算
来源:互联网 发布:php网站漏洞检测工具 编辑:程序博客网 时间:2024/05/21 16:58
本文代码主要演示如何使用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进行多项式计算与符号计算
- Python.Scipy -- 数值计算库
- python做科学计算scipy
- python sympy包符号运算进行定积分计算
- python科学计算六:scipy矩阵操作
- Scipy教程 - python数值计算库
- python科学计算六:scipy矩阵操作
- python 科学计算库 - Numpy,Scipy,Pandas
- python的Scipy数值计算库
- python做科学计算 numpy scipy matplotlib
- 利用MATLAB进行符号计算
- 多项式计算
- 多项式计算
- 多项式计算
- 计算多项式
- 计算多项式
- 计算多项式
- 多项式计算
- 【精华版】mysql权限的授予与收回
- access两个表中以新建计算字段,在tableau中进行连接,提示错误信息
- 基础算法(四)---线性查找算法(BFPRT)
- #95 qsc oj 喵哈哈村的秘境探险(四)(数位dp, 组合数,快速幂)
- 安装chocolatey和使用
- Python使用scipy进行多项式计算与符号计算
- Material Design
- [Leetcode] 124. Binary Tree Maximum Path Sum 解题报告
- bfs+路径记录(数组模拟队列实现)
- 基础算法(四)---深度优先搜索(DFS)
- 基础算法(四)---广度优先搜索
- Spark之SparkStreaming案例
- bfs+状态记录(扩展标记实现)
- 了解 Android 应用的文件存储目录,掌握持久化数据的正确姿势