我一直在尝试用sympy计算以下传递函数wlt的逆拉普拉斯变换:
-2⋅s
(1.0e-8⋅s + 0.02)⋅ℯ
────────────────────────────────────────
⎛ 2 ⎞
s⋅⎝1.0e-11⋅s + 2.0000003e-5⋅s + 0.00177⎠
使用下一个表达式:
wtl_t = sp.inverse_laplace_transform(wtl, s, t, noconds=True)
在哪里
s = sp.symbols('s')
t = sp.symbols('t', positive=True)
但当我运行代码时,会出现以下错误:
Traceback (most recent call last):
File "/usr/local/lib/python3.9/dist-packages/sympy/polys/polyutils.py", line 211, in _parallel_dict_from_expr_if_gens
monom[indices[base]] = exp
KeyError: RisingFactorial(_t + 1, 1.0)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.9/dist-packages/sympy/polys/partfrac.py", line 81, in apart
(P, Q), opt = parallel_poly_from_expr((P, Q), x, **options)
File "/usr/local/lib/python3.9/dist-packages/sympy/polys/polytools.py", line 4340, in parallel_poly_from_expr
return _parallel_poly_from_expr(exprs, opt)
File "/usr/local/lib/python3.9/dist-packages/sympy/polys/polytools.py", line 4393, in _parallel_poly_from_expr
reps, opt = _parallel_dict_from_expr(exprs, opt)
File "/usr/local/lib/python3.9/dist-packages/sympy/polys/polyutils.py", line 332, in _parallel_dict_from_expr
reps, gens = _parallel_dict_from_expr_if_gens(exprs, opt)
File "/usr/local/lib/python3.9/dist-packages/sympy/polys/polyutils.py", line 216, in _parallel_dict_from_expr_if_gens
raise PolynomialError("%s contains an element of "
sympy.polys.polyerrors.PolynomialError: RisingFactorial(_t + 1, 1.0) contains an element of the set of generators.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/mnt/hgfs/FACULTAD/3er año/SDC/S&C_withPython/SDC_ex/GTP2_ex3.py", line 62, in <module>
wtl_t = sp.inverse_laplace_transform(wtl, s, t, noconds=True)
File "/usr/local/lib/python3.9/dist-packages/sympy/integrals/transforms.py", line 1341, in inverse_laplace_transform
return InverseLaplaceTransform(F, s, t, plane).doit(**hints)
File "/usr/local/lib/python3.9/dist-packages/sympy/integrals/transforms.py", line 130, in doit
return self._compute_transform(self.function,
File "/usr/local/lib/python3.9/dist-packages/sympy/integrals/transforms.py", line 1287, in _compute_transform
return _inverse_laplace_transform(F, s, t, self.fundamental_plane, **hints)
File "/usr/local/lib/python3.9/dist-packages/sympy/integrals/transforms.py", line 218, in wrapper
res = func(*args, **kwargs)
File "/usr/local/lib/python3.9/dist-packages/sympy/integrals/transforms.py", line 1213, in _inverse_laplace_transform
f, cond = inverse_mellin_transform(F, s, exp(-t), (None, oo),
File "/usr/local/lib/python3.9/dist-packages/sympy/integrals/transforms.py", line 908, in inverse_mellin_transform
return InverseMellinTransform(F, s, x, strip[0], strip[1]).doit(**hints)
File "/usr/local/lib/python3.9/dist-packages/sympy/integrals/transforms.py", line 130, in doit
return self._compute_transform(self.function,
File "/usr/local/lib/python3.9/dist-packages/sympy/integrals/transforms.py", line 846, in _compute_transform
return _inverse_mellin_transform(F, s, x, strip, **hints)
File "/usr/local/lib/python3.9/dist-packages/sympy/integrals/transforms.py", line 218, in wrapper
res = func(*args, **kwargs)
File "/usr/local/lib/python3.9/dist-packages/sympy/integrals/transforms.py", line 773, in _inverse_mellin_transform
h = hyperexpand(G)
File "/usr/local/lib/python3.9/dist-packages/sympy/simplify/hyperexpand.py", line 2513, in hyperexpand
return f.replace(hyper, do_replace).replace(meijerg, do_meijer)
File "/usr/local/lib/python3.9/dist-packages/sympy/core/basic.py", line 1497, in replace
rv = walk(self, rec_replace)
File "/usr/local/lib/python3.9/dist-packages/sympy/core/basic.py", line 1481, in walk
rv = F(rv)
File "/usr/local/lib/python3.9/dist-packages/sympy/core/basic.py", line 1490, in rec_replace
v = _value(expr, result)
File "/usr/local/lib/python3.9/dist-packages/sympy/core/basic.py", line 1419, in <lambda>
_value = lambda expr, result: value(*expr.args)
File "/usr/local/lib/python3.9/dist-packages/sympy/simplify/hyperexpand.py", line 2509, in do_meijer
r = _meijergexpand(G_Function(ap[0], ap[1], bq[0], bq[1]), z,
File "/usr/local/lib/python3.9/dist-packages/sympy/simplify/hyperexpand.py", line 2394, in _meijergexpand
slater2, cond2 = do_slater(tr(func.bm), tr(func.an), tr(func.bq), tr(func.ap),
File "/usr/local/lib/python3.9/dist-packages/sympy/simplify/hyperexpand.py", line 2320, in do_slater
hyp = _hyperexpand(Hyper_Function(nap, nbq), harg, ops,
File "/usr/local/lib/python3.9/dist-packages/sympy/simplify/hyperexpand.py", line 2061, in _hyperexpand
formula = try_lerchphi(func)
File "/usr/local/lib/python3.9/dist-packages/sympy/simplify/hyperexpand.py", line 1799, in try_lerchphi
part = apart(numer/denom, t)
File "/usr/local/lib/python3.9/dist-packages/sympy/utilities/decorator.py", line 34, in threaded_func
return func(expr, *args, **kwargs)
File "/usr/local/lib/python3.9/dist-packages/sympy/polys/partfrac.py", line 84, in apart
raise PolynomialError(msg)
sympy.polys.polyerrors.PolynomialError: RisingFactorial(_t + 1, 1.0) contains an element of the set of generators.
我还尝试了部分分数和TF的因式分解,但什么也没发生
我不知道你的情况有什么问题,但不妨试试:
您还需要将t定义为实:
相关问题 更多 >
编程相关推荐