b = c - d * a
f = d + d * a
g = f * h
e = g * i + b
除了 a 都是变量(在运行时都是常量),所以这是一个只含有一个未知数的方程组,求 a 的表达式。
Sy美国服务器mbolab 好像不支持用字母表示常量,是不是用法不对?
这种电脑用矩阵法来解比较合适吧(猜测
还遗漏了一个等式
j = e / f 或 j = e / (f - b)
没看懂。既然只有 a 是未知数,那随便拿一个方程不就能求出来了么
求的是用其他变量如何表示 a 。比如 a = (变量 1 + 变量 2) / (变量 3 - 变量 4)。
```python
from sympy import symbols, init_printing, solve
init_printing(use_unicode=True)
a, c, d, h, i = symbols('a c d h i')
b = c - d * a
f = d + d * a
g = f * h
e = g * i + b
j = e / f
solve(j, a)
```
Out[53]:
⎡-(c + d⋅h⋅i) ⎤
⎢─────────────⎥
⎣ d⋅(h⋅i - 1) ⎦
这个网站不错
Wolfram alpha
算法的话,个人想法是,首先将每个等式标准化,然后依次搜索出现频率最低的变量,将其消去,最后求解。循环直到所有变量都解明
线性方程组本质是个矩阵
你学线性代数的时候有没有好奇过解方程组为什么要做得这么机械
这就是它的典型用途
mathematica:就这?还需要喊我?