有没有一种方法可以找到 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}
我目前正在尝试求解一个非常复杂的积分,首先是符号式求解,然后通过在不同极限下进行评估以进行优化。
对于上下文,我的导数如下:
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}