【Python】——多项式

【Python】——多项式,第1张

"""Python求解多项式"""
from sympy import symbols, factor, expand, cancel, apart
import numpy as np

# 1.因式分解
# 例1:分解下列多项式:3 * x^4 - 2 * x^3 * y + 3 * x^3 - x^2 * y^2 + 6 * x^2 - x * y^2 - 4* x * y - 2 * y^2
x, y = symbols('x y')
f1 = 3 * x ** 4 - 2 * x ** 3 * y + 3 * x ** 3 - x ** 2 * y ** 2 - 2 * x ** 2 * y + 6 * x ** 2 - x * y ** 2 - 4 * x * y - 2 * y ** 2
# print(factor(f1))

# 2.多项式展开
# 例2:展开下列多项式:(x+y)^3
x, y = symbols('x y')
f2 = (x + y) ** 3
# print(expand(f2))

# 3.分式化简
# 例2:展开下列多项式:(x+y)^3
x = symbols('x')
f3 = (x ** 2 + 2 * x + 1) / (x ** 2 + x)
p3 = 1 / x + (3 * x / 2 - 2) / (x - 4)
# print(cancel(f3))
# print(cancel(p3))

# 4.分式展开
x = symbols('x')
f4 = (4 * x ** 3 + 21 * x ** 2 + 10 * x + 12) / (x ** 4 + 5 * x ** 3 + 5 * x ** 2 + 4 * x)
# print(apart(f4))

# 5.多项式求解

# (1)求值
# 例如:p(x) = x^3 - 3 * x + 5
# 可以使用向量P=[1,0,-3,5]表示,向量长度减一表示多项式最高项次数。


# 从右到左分别是变量x的0次幂、1次幂、2次幂……n次幂。


# 这里可以使用numpy的方法ployval进行计算。


q1 = np.array([1, 0, -3, 5]) x1 = 5 # print(np.polyval(q1, x1)) # X为不同值时多项式的值 x2 = [1, 2, 3, 4, 5] # print(np.polyval(q1, x2)) # (2)求根 q2 = np.array([1, 0, -3, 5]) b2 = np.roots(q2) # 求根 # print(b2) r2 = np.real(b2) # 取实数 # print(r2) # (3)乘法 # (x^3 + 2 * x^2 + 3 * x + 4 ) X (x^3 + 4 * x^2 + 9 * x + 16) = [1,2,20,50,75,84,64] a3 = np.array([1, 2, 3, 4]) b3 = np.array([1, 4, 9, 16]) # print(np.convolve(a3, b3))

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/570382.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-09
下一篇 2022-04-09

发表评论

登录后才能评论

评论列表(0条)

保存