【问题标题】:Python sympy module problemsPython sympy 模块问题
【发布时间】:2018-09-13 14:54:22
【问题描述】:

我在使用sympy解决数学问题时遇到了一些问题,我的代码是这样的,

eq1=Eq(0, -sympy.sqrt(x**2) + sympy.sqrt((x + 4)**2))
sympy.solve(eq1,x)

这个等式的答案应该是 -2,但我得到了一个空列表

【问题讨论】:

  • solve 不保证给出方程的所有解。一个空列表可能意味着它没有解决方案,或者它可能只是意味着没有找到解决方案。 solveset 确实会尝试给出所有解决方案,这意味着如果它无法确定是否找到了所有解决方案,有时它可以给出一个通用集合。

标签: python sympy


【解决方案1】:
eq1=Eq(0, -sympy.sqrt(x**2) + sympy.sqrt((x + 4)**2))
sympy.solveset(eq1,x)

这应该可以工作

输出

{-2}

btw sympy 有一个可以给你答案的优秀网站,以及浏览器内一个非常直观的 shell https://docs.sympy.org/latest/tutorial/solvers.html

这是 sympy 对此事的看法:

“请注意,还有一个函数叫做solve,它也可以用来解方程。语法是solve(equations, variables),但是建议使用solveset。”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-14
    • 2015-09-13
    • 2020-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多