繁体   English   中英

python sympy中没有指数解决方案

[英]No solutions with exponents in 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方案找不到任何solve方案。 请参阅http://docs.sympy.org/latest/tutorial/solvers.html上的第一个注释。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM