python - 在 python sympy 中没有指数的解决方案

标签 python sympy

当我运行这个程序时,最后我没有得到任何解决方案,但应该有一个解决方案(我相信)。知道我做错了什么吗?如果您从 e2 方程中去掉 Q,它似乎可以正常工作。

#!/usr/bin/python
from sympy import *

a,b,w,r = symbols('a b w r',real=True,positive=True)
L,K,Q = symbols('L K Q',real=True,positive=True)

e1=K
e2=(K*Q/2)**(a)

print solve(e1-e2,K)

如果我们执行以下操作,它会起作用:

  • 设置 Q=1 或者,
  • 将 e2 改为 e2=(K*a)(Q/2)**(a)

不过,我仍然希望它以原来的方式工作,因为我的方程式比这更复杂。

最佳答案

这只是solve的不足之处。 solve 主要基于启发式方法,因此有时它无法弄清楚如何求解以特定形式给出的方程。此处的解决方法是仅在表达式上调用 expand_power_base,因为 SymPy 能够求解 K - K**a*(Q/2)**a:

In [8]: print(solve(expand_power_base(e1-e2),K))
[(2/Q)**(a/(a - 1))]

同样值得指出的是,[] 的结果 solve 以任何方式表示没有解决方案,只有solve 无法找到任何内容。请参阅 http://docs.sympy.org/latest/tutorial/solvers.html 处的第一条注释.

关于python - 在 python sympy 中没有指数的解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19167958/

相关文章:

python - 为什么 Pandas 和 Numpy 对与 NaN 的成对相关产生不同的结果?

python - 如何使用sympy找到生成函数的第n项?

python - IJulia 与 SymPy 不工作

同情 CSE : avoid pow/powf

python - 用 Sympy 符号求解方程

python - python 的正则表达式

python:从html获取图像链接

python - 如何用Python中的索引数组替换二维数组的值

python - 类型错误 : object of type 'NoneType' has no len() in beautifulsoup & selenium Python

numpy - Sympy 和 Numpy 求解器之间的区别