python - Sympy Linsolve 出乎意料的结果
问题描述
我正在尝试用 Linsolve 求解方程组,但显然一定是误解了一些东西,因为我不断得到意想不到的结果。假设我想解决以下两个方程:
a + b = 0
a - b + c = 0
我希望结果:
b = 0.5*c
相反,Sympy 返回空集。使用 nonlinsolve 我得到 (-a),这也没有多大意义:
>>> import sympy
>>> a, b, c = sympy.symbols('a b c')
>>> Eqns = [a + b, a - b + c]
>>>sympy.linsolve(Eqns, b)
()
>>>sympy.nonlinsolve(Eqns, b)
(-a)
我想我要疯了,请帮助:)
解决方案
您还需要传递另一个变量。所以传递和方程一样多的变量,否则它是不可解的,就像手动一样。
import sympy as sp
a, b, c = sp.symbols('a b c')
Eqns = [a + b, a - b + c]
sp.solve(Eqns, b, a)
推荐阅读
- r - 需要帮助将 for 循环转换为 lapply 或 sapply
- javascript - 为什么这个 JSON 对象返回反斜杠?我该如何摆脱它们?
- php - 从单个控制器加载多个模型
- angular - Angular Material Datepicker:如何过滤以便只允许数组中的日期?
- jasper-reports - 在 JasperSoft 服务器中使用 ejbql 数据适配器上传报告
- shell - 匹配 Unix 中的文件字符串
- javascript - 在 javascript 代码中使用 ASP.net 模型。使用以外的任何其他方法
? - html - iframe 遇到问题
- api - 使 Dockerized Flask 服务器并发
- multithreading - Vertx - 创建新线程的调用库