sympy 用 2 个未知数和符号求解一个方程

问题描述 投票:0回答:1
import sympy
from sympy.abc import x, y, z, a, b

我想找到以下方程的 x 和 y 的根:f(x,y) = 2(x - a) + (y - b),其根是 x=a, y=b。使用 sympy 我得到了代替

sym.solve((x - a)*2 + (y - b), [x, y])

$\left[ \left( a + rac{b}{2} - rac{y}{2}, y 右) 右]$

换句话说,即使我要求 sympy 也求解 y,sympy 也会将 y 视为符号(或标量)而不是变量。我该如何克服这个问题?

sympy equation solver equation-solving
1个回答
0
投票

你在那里拥有的根源并不是唯一可能的根源。看着你的

2(x - a) + (y - b)

公式,如果我们等于0求根:

2(x - a) + (y - b) = 0

那么就清楚了

x = (2a + b - y) / 2

y = b - 2(x - a)

所以有无限多个可能的根。除了您给出的根 (x=a, y=b) 之外,我们还可以定义其他根,例如 (x = b/2 和 y = 2a),具有

2(b/2 - a) + 2a - b = 0

b - 2a + 2a - b = 0

0 = 0

作为结果和无限多种可能的情况,您可以采用任意 x 并计算其相应的 y,或者采用任意 y 并计算其相应的 x,以生成尽可能多的可能的根对。这就是为什么找到根不会导致您找到单个元组,而是找到无限多个元组。

© www.soinside.com 2019 - 2024. All rights reserved.