【发布时间】:2015-09-08 10:57:54
【问题描述】:
我正在使用电路模拟器ahkab 开发应用程序,长话短说,我需要用 1j*w 替换某些方程中的拉普拉斯变量 s。对我来说,使用符号名称而不是符号本身来执行这种替换和其他替换要方便得多。我遇到了一些奇怪的行为。
如果你这样做
>>> x = Symbol('x')
>>> y = Symbol('y')
>>> expr = x + y
x + y
>>> expr.subs('x', 'w')
w + y
这似乎按我的预期工作。问题在于符号是用complex = True声明的,这里
>>> s = Symbol('s', complex = True)
>>> y = Symbol('y')
>>> expr = s + y
s + y
>>> expr.subs(s, 'w') #Works as expected
w + y
>>> expr.subs('s', 'w') #Has no effect, this is my problem.
s + y
我无法在文档中以这种方式找到有关替换的信息。对我来说,这似乎是一个错误,但我不知道应该是什么行为。
【问题讨论】:
标签: python scipy sympy symbolic-math