如何从SymPy Poly对象中获取自变量?
如何从SymPy的Poly对象中获取自变量?
你可以直接使用Poly对象的gens属性来获取自变量,这比你当前用集合差的方法简便得多,也是SymPy官方提供的标准方式。
示例代码
首先是创建Poly对象的完整代码:
from sympy import poly from sympy.abc import x, mu my_poly = poly(x ** 2 + x + mu, x)
然后获取自变量:
# 获取所有自变量(单变量时返回单元素元组) independent_vars = my_poly.gens print(independent_vars) # 输出: (x,) # 单变量场景下提取单个自变量 x_var = independent_vars[0] print(x_var) # 输出: x
多变量场景适配
如果是多变量多项式,gens会返回所有创建时指定的自变量:
from sympy import poly from sympy.abc import x, y, mu my_poly = poly(x**2 + y*x + mu, x, y) print(my_poly.gens) # 输出: (x, y)
说明
gens属性返回的是Poly对象所属多项式环的生成元,也就是你创建Poly时明确指定的自变量(对应poly()函数的位置参数),完全符合通用适配需求,比手动计算符号集合差更高效且不易出错。
内容的提问来源于stack exchange,提问作者Ben
相关产品推荐
相关产品推荐

