【发布时间】:2017-06-18 19:44:33
【问题描述】:
我正在寻找一个 Python 解决方案,它采用一串线性方程并输出系数向量。
为了简单起见,假设我有一组方程式:
- 以字符串形式给出
- 每个元素不超过 4 个
- 都是线性的
- 在所有
x中只出现一次
那么我想得到一个向量化的表示
- 第一个元素是
x系数 - 其他元素是方程中的其他系数(未计算,但按原样计算),就好像它们出现在方程的另一边一样
x - 零以完成 4 维向量
我在这里给出几个输入-输出方程来了解一些挑战:
'2*x+3=2+5' => [2, -3, 2, 5]'88/8=x' => [8, 88, 0, 0]'74=(35+18)+3*x' => [3, 74, -35, -18]'((4+4)*6)=x'] => [1/6, 4, 4, 0]'-X=(91.0+88.0)' => [-1, 91, 88, 0]'X=(30.0/10.0)' => [10, 30, 0, 0]'0.16 + 0.41 = 2*x - 0.08' => [2, 0.16, 0.41, 0.08]'(0.25 + 0.37)*2 = x' => [1/2, 0.25, 0.37, 0]
我开始编写一个非常严格且乏味的“蛮力”解决方案,一路上绊倒了好几次,并认为一定有更好、更聪明的方法来做到这一点......
- 我正在使用
sympy包,它使事情变得更容易一些。使用sympify和formula.split等我能够提取x系数和方程的结果(虽然我真的不关心结果,而只关心向量表示 )- 我看到了 this 和 this,但它们都使用不同的语言,并不是我想要的。
Sooo,有人知道如何在 Python 中做到这一点吗?
谢谢! :)
【问题讨论】: