【问题标题】:Why all these decimals with sympy.solve?为什么所有这些小数都带有 sympy.solve?
【发布时间】:2021-02-02 05:32:24
【问题描述】:

我有这个系统要解决:

(y-1) x = 0
(x-1) (1/2-x) y = 0

我想使用 Sympy 的 solve,但它给了我:

[(0.0, 0.0), (0.500000000000000, 1.00000000000000), (1.00000000000000, 1.00000000000000)]

为什么所有这些小数?我不要他们!怎么了?

import sympy as sm

x, y = sm.symbols('x, y', negative=False)
X = -x*(1-y)
Y = -y*(1-x)*((1/2)-x)

XEqual = sm.Eq(X, 0)
YEqual = sm.Eq(Y, 0)

equilibria = sm.solve( (XEqual, YEqual), x, y)
print(equilibria)

【问题讨论】:

    标签: python decimal sympy symbols


    【解决方案1】:

    尝试修改下面的表达式

    ...
    Y = -y*(1-x)*((1-x-x)/2
    ...
    

    想知道为什么现在的结果是你想要的

    【讨论】:

    • 使用Y = -y*(1-x)*(sm.Rational(1, 2)-x) 也能满足您的需求……
    猜你喜欢
    • 1970-01-01
    • 2011-12-19
    • 2021-06-23
    • 1970-01-01
    • 2019-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多