gpt4 book ai didi

python - Sympysolve不会返回答案

转载 作者:行者123 更新时间:2023-11-30 22:57:05 25 4
gpt4 key购买 nike

我正在尝试使用 sympy 求解太阳风一维稳态模型的方程。我有下面的代码

from sympy import Eq, var, solve
var('r',real=True)
eq = Eq((1./2.)*((CF**2)/(r))+CT*r**(gamma)+bm/(2.*muo) - CM)
a = solve(eq,r)

其中 CF、CT、CM、gamma、muo 和 bm 只是实数。我试图在 bm 的一系列值上求解 r 的方程,但它不会返回任何数字。运行代码块后,我的 python 笔记本仅显示代码正在运行,但不返回值也不停止。我是否应该向 sympy 提供替代函数或某种命令,以使其运行得更快?

最佳答案

该方程涉及 r 的两次幂之和,包括 r**gamma。除非 gamma 是一个非常小的整数(在 -4 和 4 之间),否则没有希望以符号方式解决这个问题(这就是 sympy 的用途)。

要进行数值求解,您需要 scipy 而不是 sympy。例如:

from scipy.optimize import fsolve
func = lambda r : (1./2.)*((CF**2)/(r))+CT*r**(gamma)+bm/(2.*muo) - CM
# assign some numeric values to CF, CT, gamma, bm, muo, CM
sol = fsolve(func, 1) # 1 is the initial guess for the solver

关于python - Sympysolve不会返回答案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36837649/

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