sympy无法解决一组等式

时间:2016-06-27 14:03:17

标签: python math sympy

我有一个模式,X的最大值和最小值(XminXmax)以及置信度百分比(percentage)。

我想使用以下函数来查找理论日志正态分布的μσ

累积分布函数:

CDF

和模式

mode

我决定将它解决为一组方程式。在示例中,我使用modepercentageXminXmax

的任意值
from sympy import *

def CalcScaleParamSET (mode, percentage, Xmin, Xmax):

    s = Symbol('s', Real=True)
    mu = Symbol('mu', Real =True)

    eqn1 = (1/2+1/2*erf((log(Xmax)-mu)/sqrt(2)*s)-1/2-1/2*erf((log(Xmin)-mu)/sqrt(2)*s)) -percentage
    eqn2 = (exp(mu-s**2)) - mode

    eqns = [eqn1, eqn2]

    ans = linsolve(eqns, s, mu)

    print(ans)

CalcScaleParamSET(2, 0.95, 1, 4)

这会返回EmptySet(),这意味着sympy无法找到等式的解。我无法弄清楚我做错了什么,是数学问题还是代码问题?我写了一个matlab脚本来执行相同的任务,它能够得到μσ的单个数值。

0 个答案:

没有答案