有没有办法找到SymPy中定义的函数的自变量?

问题描述 投票:0回答:1

我目前正在尝试求解一个非常复杂的积分,首先是象征性的,然后通过在不同的限制下进行评估来进行优化。

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

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

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

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

Fx.subs(r,0.85)

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

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

Fx.independants >> r, a, y

那么我就会知道,事实上,Fx 仍然是 r, a & y 的函数

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

python sympy symbolic-integration
1个回答
0
投票

您正在寻找

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}
© www.soinside.com 2019 - 2024. All rights reserved.