社区首页 >问答首页 >如何从SymPy方程中提取分母和分子列表?问如何从SymPy方程中提取分母和分子列表?ENStack Overflow用户提问于 2020-05-21 23:55:32回答 1查看 443关注 0票数 1我在这里有一些描述SymPy (https://www.sympy.org/en/index.html)表达式的代码:
代码语言:javascript复制s = sympy.Symbol('s')
K = 1/(3*s**3 + 2*s**2 + 1*s + 1)下面是相同的传递函数,但在control (https://python-control.readthedocs.io/en/latest/)中是这样的语法:
代码语言:javascript复制den = [ 1 ]
nom = [ 3, 2, 1, 1 ]
control.TransferFunction(den, num)所以,我们需要给它一个列表。我的问题是:如何从SymPy等式中提取den和num列表?另外,在SymPy中有没有更好的方法来创建传递函数?
pythonsympy关注问题分享EN回答 1推荐最新Stack Overflow用户回答已采纳发布于 2020-05-22 06:44:33
Poly有一个all_coeffs方法,可以应用于有理表达式的识别分子和分母,例如
代码语言:javascript复制import sympy as sp
s = sp.Symbol('s', rational=True)
eq=1/(2*s**2 + 3*s + 4)
top, bot = [[float(i) for i in sp.Poly(i, s).all_coeffs()] for i in eq.as_numer_denom()]
import control as co
co.TransferFunction(top, bot) 收藏分享票数 2EN页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持原文链接:https://stackoverflow.com/questions/61938545
复制相关文章