gpt4 book ai didi

sympy - 如何枚举 SymPy 表达式中未定义的函数?

转载 作者:行者123 更新时间:2023-12-04 20:08:43 31 4
gpt4 key购买 nike

我有各种涉及 UndefinedFunction 实例的 SymPy 表达式:

f = Function('f')
g = Function('g')
e = f(x) / g(x)

如何获取出现在此类表达式中的函数调用列表?在这个例子中,我想得到 [f(x), g(x)] .

我知道 free_symbols但它反弹了 set([x]) (正如它应该)。

最佳答案

你是对的,你想使用 atoms ,但请注意,来自 Function 的 SymPy 子类中的所有函数,而不仅仅是未定义的函数。所以你也会得到

>>> (sin(x) + f(x)).atoms(Function)
set([f(x), sin(x)])

因此,您需要进一步将列表减少到只有 UndefinedFunction 的那些函数。 s。请注意 UndefinedFunctionf 的元类,所以这样做,你需要像
>>> [i for i in expr.atoms(Function) if isinstance(i.__class__, UndefinedFunction)]
[f(x)]

关于sympy - 如何枚举 SymPy 表达式中未定义的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21668105/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com