我无法同时使用sympify和Lambda。我想声明一个函数(func_mx
),它接受参数S
。在
然后我想在一个符号表达式X
中包含它
下面是我要执行的代码:
import sympy as sp
S = sp.Symbol('S')
A = sp.Symbol('A')
mux_m = sp.Symbol('mux_m')
KX = sp.Symbol('KX')
func_mux = sp.Lambda(S, (mux_m * S) / (KX + S))
X = sp.sympify("(func_mux(S) - D) * X", locals={"func_mux": func_mux})
这是我得到的错误,我很难解释它的意思:
^{pr2}$
不幸的是,“S”是在sympy中预定义的,因此被
sympify
解释为sympy.core.singleton.SingletonRegistry
,请参见{a1}:当您在一个简单的表达式上尝试
sympify
时,这一点更加明显,例如您可以通过将“S”替换为任何其他字母(例如小写字母“S”)来避免此问题。 如果要保留字母“S”,也可以使用前面定义的符号将其添加到
locals
中:X = sp.sympify("(funcmux(S) - D) * X", locals={"funcmux": funcmux, "S": S})
相关问题 更多 >
编程相关推荐