繁体   English   中英

在sympy表达式中查找函数

[英]Find functions in sympy expression

我正在寻找一种在Sympy表达式中查找功能参数的强大方法。 例如,在下面的示例中,如何从operator检索f

import sympy

x, y = sympy.symbols('x y')
f = sympy.Function('f')
operator = x*f(x, y).diff(x) + y*f(x, y)

print(operator.free_symbols)
# prints {x, y}

方法expr.atoms(class)返回expr中作为该类实例的所有对象的集合。 所以,

operator.atoms(sympy.Function)

将返回f(x, y) 如果您希望忽略该函数的参数,请使用

[a.func for a in operator.atoms(sympy.Function)]

(对于SymPy对象aa.func是其“函数”部分, a.args是其“参数”部分。)

注意,如果operator包括sin(x) ,那么上面的代码也会包含它。 仅返回未定义 (未内置)的功能,代替sympy.Function通过sympy.function.AppliedUndef如在类选择atoms

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM