有没有一种方法可以找到 SymPy 中定义的函数的自变量?

Is there a method to find the independant variables of a function defined in SymPy?

我目前正在尝试求解一个非常复杂的积分,首先是符号式求解,然后通过在不同极限下进行评估以进行优化。

对于上下文,我的导数如下:

dFx = 0.5 * row * Vapr * c *(Cl*cos(theta) + Cd*sin(theta))
Fx = sp.integrate(dFx, r)

其中,在 dFx 中,变量 Vapr、c 和 theta 都是 r 的函数。当我 pprint 函数 dFx 时,它比控制台大。

在为Fx集成dFx之后,当我使用:

Fx.subs(r,0.85)

这不会输出数字答案,而是输出 pprint(Fx) 我发现函数 Fx 中仍然有 r 的符号。

有没有一个函数可以告诉我Fx的自变量是什么? 因为等式太长了,我无法在控制台中看到所有内容以检查是否只剩下 r。 即类似

Fx.independants >> r, a, y

那我就知道其实Fx还是r的函数,a&y

(为了进一步了解,我正在尝试求解叶片元素动量理论方程)

您正在寻找 free_symbols 属性:

from sympy import symbols
from sympy.abc import x, y
    
z = x**2 + y
eq = sqrt(x) * y / z

eq.free_symbols  # returns {x, y}