python化学公式配平_如何用矩阵知识配平化学方程式?

谢邀,如果只是高中化学的话,那么这种“矩阵知识配平化学方程式”只是奇技淫巧,没什么意义。不过跳出高中水平的话,还是有些意义的,比如一些第三方库或者小程序配平化学方程式多是用的这个方法。另外矩阵能看出一些问题的数学本质——配平本来就是解方程组的问题加上一点点擦边的化学知识。

我知道这个是因为化院同学做C语言/Python的大作业时,很多人会做“化学小帮手”,其中基本都包括了“配平方程式”小程序,具体操作是网上抄个配平方程式的代码或者直接调用bce库,再加上个用户界面,就很像模像样了。这个去搜索能找到很多,第一次见的时候我也是不明觉厉,啧啧称奇,后来才知道原来是这么玩的。

思路大概是这样的。比如

,归边写成

,归边是很常见的操作,之前讲过,归到那一边对配平而言无所谓。请问这一步是如何得到的,那个连乘符号是怎么用的?​www.zhihu.com

先找到元素矩阵:C₂H₅OHO₂-CO₂-H₂O

C20-10

H600-2

O12-2-1

设配平系数的向量是

让程序解AX=0,再加上最简正整数比的要求,求出的X就是方程的系数。这个方法一般是算方程复杂的反应的,上面这个例子体现不出这个方法的意义。

当然,有的时候需要一点点“场外”内容。比如经常被问的高锰酸钾和双氧水的问题。完全依赖程序的话,矩阵法配平这种方程是不如化合价升降法的。为什么高锰酸根与过氧化氢只能 2:5?​www.zhihu.comMnO₄⁻H₂O₂H⁺- Mn²⁺- O₂- H₂O

Mn100-100

O4200-2-1

H02100-2

电荷-101-200

即使没学过矩阵知识应该也能看出来,和Mn和电荷相关的约束方程不涉及H₂O₂,O₂和H₂O,所以这个方程组有和Mn无关的“平凡解”

,这个解对应了双氧水分解的反应。所以矩阵法会给出两个系数向量的线性组合(限制不够,无穷多解),相当于下面两个化学方程式的叠加,反正是给不出2:5的。

这个问题一直都存在,比如前面提到过的第三方库bce(怎么玩知乎上应该有人介绍过),这个库面对类似高锰酸钾+过氧化氢的问题就很无力。下图中这个方程配平系数里果不其然地出现了Xa和Xb。建议大计基老师再遇到化院同学用这个做大作业的话,就直接让他们测试高锰酸钾和过氧化氢的反应。

这个bug也是法矩阵配平的标志。

有一些教材会讲用矩阵的知识快速解出AX=0的方法,以此说明用矩阵知识配平化学方程式的优越性,我觉得意义不大,复杂的方程交给计算机就好了,而且一般也就高中化学纠结在配平问题上,而高中化学方程式的系数一般也很简单。 下面这种看起来就很夸张的反应也没必要掌握。

上图中第二个就是之前举的乙醇氧化的例子,系数是(1,3,2,3),程序处理起来就没什么压力了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值