为了平衡化学方程式中的原子数:
a O2 + b C12H24O11 → c CO2 + d H2O
我做线性方程:
O: 2*a + 11*b = 2*c + d
C: 12*b = c
H: 24*b = 2*d
我必须找到满足该问题的最小正非零整数。
在 GNU Octave 中,我用人机交互解决了这个问题:
[2,11,-2,-1; 0,12,-1,0; 0,24,0,-2; 0,1,0,0]\[0;0;0;1]
ans =
12.5000
1.0000
12.0000
12.0000
[2,11,-2,-1; 0,12,-1,0; 0,24,0,-2; 0,1,0,0]\[0;0;0;2]
ans =
25
2
24
24
通过搜索b系数直到找到第一个整数解。
是否有任何数学包可以自动找到解决方案?