含无符号变量与数字的方程组求解方案探讨
线性方程组求解方案
给定一系列方程组,求解每个变量的值:
off = 4 + ran + 1 loc = 1 + ori + off ori = 3 + 5 ran = 2规则:左侧始终为由字母组成的变量名,右侧由变量、无符号整数和+运算符构成。
初始思路
先将原方程化简为:
off= ran + 5 loc = ori + off ori = 8 ran =2
计划把化简后的方程存储在Map<String, List>结构中,已知值的变量(比如示例里的ori、ran)单独存在Map<String, Integer>里,方便代入其他方程计算。但这个方案有问题:需要在存储方程的Map里递归替换已知值,直到所有变量都能算出结果,而且变量赋值的逻辑会大幅增加实现难度。
替代方案
将方程组转化为矩阵形式的线性方程组,通过求解矩阵逆来计算所有变量的值,这是更优的实现思路。
内容的提问来源于stack exchange,提问作者nick
相关产品推荐
相关产品推荐

