Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 非线性方程组可以用Maple求解,但不能用sympy求解_Python_Sympy_Maple - Fatal编程技术网

Python 非线性方程组可以用Maple求解,但不能用sympy求解

Python 非线性方程组可以用Maple求解,但不能用sympy求解,python,sympy,maple,Python,Sympy,Maple,我是新来的sympy,喜欢pythonic语法。然而,我遇到了一个Symphy无法解决的问题,但可以在Maple中轻松解决 因此,我有以下系统: 0.0165 * exp( -2.0405-0.33*b-0.5*n)+0.031 * exp(-4.164-0.62*b-0.5*n)=k*p 0.025 * exp( -2.0405-0.33*b-0.5*n) +0.025 * exp(-4.164-0.62*b-0.5*n)=5*k 2*p=p*b+5*n 我需要用p来解b、n和k。我可以很容

我是新来的sympy,喜欢pythonic语法。然而,我遇到了一个Symphy无法解决的问题,但可以在Maple中轻松解决

因此,我有以下系统:

0.0165 * exp( -2.0405-0.33*b-0.5*n)+0.031 * exp(-4.164-0.62*b-0.5*n)=k*p
0.025 * exp( -2.0405-0.33*b-0.5*n) +0.025 * exp(-4.164-0.62*b-0.5*n)=5*k
2*p=p*b+5*n
我需要用
p
来解
b
n
k
。我可以很容易地在Maple中解决这个问题,但是使用sympy,它会花费很长时间,最后会因为耗尽内存而崩溃。Maple可以提供精确的符号解决方案

我使用的sympy代码是
solve([eq1,eq2,eq3],[b,n,k])


谢谢你的帮助

使用rational=False标志:

>>> print filldedent(solve([eq1,eq2,eq3],[b,n,k], rational=False))

[(-3.44827586206897*log((-0.000335859591913345*p +
0.00110833665331404)/(2.24927535168052e-5*p - 0.000139455071804192)) +
2, 0.689655172413793*p*log((-0.000335859591913345*p +
0.00110833665331404)/(2.24927535168052e-5*p - 0.000139455071804192)),
(0.000335859591913345*((-0.000335859591913345*p +
0.00110833665331404)/(2.24927535168052e-5*p -
0.000139455071804192))**1.13793103448276 +
2.24927535168052e-5*((-0.000335859591913345*p +
0.00110833665331404)/(2.24927535168052e-5*p - 0.000139455071804192))**
2.13793103448276)*exp(-0.344827586206897*p*log((-0.000335859591913345*
p + 0.00110833665331404)/(2.24927535168052e-5*p -
0.000139455071804192))))]

s/5k/5*k/
s/2p/2*p/
。谢谢!结果似乎与Maple一致。能解释一下你在这里做了什么吗?在哪里添加
rational=False
标志?那么
filleddent
是什么意思?谢谢!对不起,复制粘贴错误。我更新了以显示“rational”的用法。Filled是在Symphy中定义的一个打印实用程序函数(来自Symphy import Filled),它可以缩短打印行并使复制/粘贴更加方便。@smichr我尝试了您的解决方案,但得到了空列表[]作为答案!确保您使用的是Symphy的当前版本。