b = c - d * a f = d + d * a g = f * h e = g * i + b
除了 a 都是变量(在运行时都是常量),所以这是一个只含有一个未知数的方程组,求 a 的表达式。 Symbolab 好像不支持用字母表示常量,是不是用法不对?
通过 SymPy 解决,#5 提供的方法。
![]() | 1 weizhen199 2021-05-07 09:56:07 +08:00 这种电脑用矩阵法来解比较合适吧(猜测 |
![]() | 2 Jay54520 OP 还遗漏了一个等式 j = e / f 或 j = e / (f - b) |
3 misdake 2021-05-07 10:28:22 +08:00 没看懂。既然只有 a 是未知数,那随便拿一个方程不就能求出来了么 |
![]() | 4 Jay54520 OP @misdake 求的是用其他变量如何表示 a 。比如 a = (变量 1 + 变量 2) / (变量 3 - 变量 4)。 |
5 princelai 2021-05-07 11:24:35 +08:00 ![]() ```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 + dhi) ───────────── d(hi - 1) /div> |
![]() | 6 Imindzzz 2021-05-07 14:40:47 +08:00 这个网站不错 |
7 cartmanie 2021-05-07 15:46:15 +08:00 via iPhone Wolfram alpha |
![]() | 8 LeeReamond 2021-05-07 15:55:36 +08:00 算法的话,个人想法是,首先将每个等式标准化,然后依次搜索出现频率最低的变量,将其消去,最后求解。循环直到所有变量都解明 |
9 Jooooooooo 2021-05-07 16:14:16 +08:00 线性方程组本质是个矩阵 |
![]() | 10 YvesX 2021-05-07 16:21:19 +08:00 你学线性代数的时候有没有好奇过解方程组为什么要做得这么机械 这就是它的典型用途 |
![]() | 11 maxwel1 2021-05-07 20:28:41 +08:00 via Android mathematica:就这?还需要喊我? |