如何使用sympy的nonlinsolve象征性地找到稳态

时间:2018-11-19 23:28:36

标签: python-3.x sympy symbolic-math solver economics

我在经济学中有一个标准问题,我想使用sympy的nonlinsolve解决。

我想象征性地找到模型的稳态,并为此目的求解非线性方程组。

我很高兴看到sympy具有nonlinsolve,它应该能够解决此类问题,但到目前为止我还无法解决。

在下面,您会发现问题的一部分无法单独解决:

    from sympy.solvers.solveset import nonlinsolve
    from sympy import var

    var('c k mc n r_k eta w alpha', Rational = True, positive=True)

    eq1 = -r_k + alpha * mc * k**(-1 + alpha) * n**(1 - alpha)
    eq2 = -w + mc * (1 - alpha) * k**alpha * n**(-alpha)
    eq3 = c**-1 * w - n**eta

    eq_system = [eq1,eq2,eq3]

    nonlinsolve(eq_system , [n,k,w])
p和eta是参数,而其他符号是变量。我知道它们是有理正数,但是由于某种原因,我仍然不明白,代码会抛出:

ValueError:alpha:指数必须为正整数

我也不明白为什么alpha必须是整数,如果我将alpha声明为整数也无济于事。

关于使用sympy如何获得有意义的解决方案的任何提示吗?

非常感谢,

打雷

0 个答案:

没有答案