将 sympy 方程重写为 0 右侧
Rewrite sympy equations to 0 right hand side
有谁知道我如何重写所有 sympy 方程式以使其右侧为零?
我有一个方程列表,每个方程都是一个字符串,我想将其输入“linear_eq_to_matrix”。
我的列表看起来像
eqs = ['x+y =2', 'x = y']
为了使用“linear_eq_to_matrix”,我需要两件事:
- 重新制定方程式,使其右侧为零。
- 更改方程式的字符串格式。这可以通过 sympy.sympify.
来完成
我的代码需要类似于
eqns = [x + y - 2,
x - y]
A, b = linear_eq_to_matrix(eqns, [x, y])
我不确定如何执行上面的 1) 以获得“eqns”。
编辑:我发现了如何将字符串转换为 sympy 表达式。
我想我解决了:
eqsString = ['x+y =2', 'x = y']
eqs = [sym.Eq(*map(sym.sympify, eq.split('='))) for eq in eqsString]
x, y = symbols('x, y')
A, b = linear_eq_to_matrix(eqs, [x, y])
A, b
给出
(Matrix([
[1, 1],
[1, -1]]), Matrix([
[2],
[0]]))
有谁知道我如何重写所有 sympy 方程式以使其右侧为零?
我有一个方程列表,每个方程都是一个字符串,我想将其输入“linear_eq_to_matrix”。 我的列表看起来像
eqs = ['x+y =2', 'x = y']
为了使用“linear_eq_to_matrix”,我需要两件事:
- 重新制定方程式,使其右侧为零。
- 更改方程式的字符串格式。这可以通过 sympy.sympify. 来完成
我的代码需要类似于
eqns = [x + y - 2,
x - y]
A, b = linear_eq_to_matrix(eqns, [x, y])
我不确定如何执行上面的 1) 以获得“eqns”。
编辑:我发现了如何将字符串转换为 sympy 表达式。
我想我解决了:
eqsString = ['x+y =2', 'x = y']
eqs = [sym.Eq(*map(sym.sympify, eq.split('='))) for eq in eqsString]
x, y = symbols('x, y')
A, b = linear_eq_to_matrix(eqs, [x, y])
A, b
给出
(Matrix([
[1, 1],
[1, -1]]), Matrix([
[2],
[0]]))