用MATLAB简化溶液氢离子浓度计算的教学内容
Simplification of the Hydrogen Ion Concentration Calculation Using MATLAB
通讯作者:
| 基金资助: |
|
| Fund supported: |
国家重点基础研究发展计划. |
溶液氢离子浓度计算涉及大量公式及繁杂的使用条件,是公认的教学重点和学习难点。将分布分数代入质子条件式即得关于氢离子浓度的一元高次方程,可用MATLAB方便地求解。因此,只要会写质子条件式就能迅速得到氢离子浓度,从而摆脱大量公式的烦扰,便于学生将精力更有效地集中于分析化学主体知识的学习。
关键词:
The calculation of hydrogen ion concentration is tightly associated with the conditions applied, and has been the keynote and difficulty part in study. A high degree univariate polynomial equation of hydrogen concentration was obtained by substituting the distribution fraction into the proton balance equation, and could be solved conveniently using MATLAB. Therefore, the calculation of the hydrogen concentration becomes easy as long as one can write the proton balance equation correctly. In such a way, students can better focus on learning the main knowledge of analytical chemistry.
Keywords:
本文引用格式
黄千姿, 唐美华, 张之翼, 边敏, 卜洪忠, 孙尔康, 陈国松.
HUANG Qian-Zi, TANG Mei-Hua, ZHANG Zhi-Yi, BIAN Min, BU Hong-Zhong, SUN Er-Kang, CHEN Guo-Song.
1 溶液氢离子浓度计算在酸碱滴定法教学中的地位
酸碱是日常生活、生产实践和科学研究中的常见物质,可以通过酸碱滴定对其进行定量测定。醛、酮、尿素、蛋白质、三聚氰胺、二氧化硅、有机磷等经过适当的转换也可以用酸碱滴定法进行定量测定,因而酸碱滴定法的应用非常广泛,也是分析化学中最重要的教学内容之一。
建立一个酸碱滴定分析的方案一般包括以下4个基本步骤[1]:
①选择恰当的滴定反应(定量、快速、可指示),明确滴定产物是什么。
②计算出化学计量点时滴定产物(滴定体系)的pH。
③选择一种在该pH附近变色的指示剂。
④考察由于②、③不一致所引起的误差是否满足分析任务的要求。
显然,步骤②和④所涉及的知识和能力才是酸碱滴定法知识体系构成中的重点。而其中的步骤②,即计算某酸碱物质的pH更是重中之重。
2 溶液氢离子浓度计算的公式法
表1 各种酸碱体系氢离子浓度的计算公式
| 酸碱溶液 | 计算公式 | 适用条件 | 备注 | |
| 一元强酸 | ||||
| 根据质子条件式解方程计算 | 极稀溶液 | |||
| 一元弱酸 | 近似式 | |||
| 最简式;浓度不低,较弱的酸 | ||||
| 极稀或极弱酸 | ||||
| 多元弱酸 | 按一元弱酸处理 | |||
| 同上,且 | 最简式,浓度不低,一级离解较小 | |||
| 根据质子条件式解方程计算 | 各级离解常数相差不大 | |||
| 混合弱酸 | ||||
| 弱酸+弱碱 | ||||
| 两性物质 | 酸式盐 | 对NaH2PO3、NaHCO3等适用。对Na2HPO4等用 | ||
| 同上,且 | 适度稀释时pH不变 | |||
| 弱酸弱碱盐 | 同酸式盐,其中: | NH4Ac这类弱酸弱碱组成比为1 : 1的体系 | ||
表1中仅列出了酸的情况,碱的情况可以类比,把公式中的[H+]替换为[OH-],同时把Ka替换为Kb即可。
获得上述公式的步骤为:①写出质子条件式;②代入平衡常数表达式;③根据具体情况做初步近似;④给出近似条件和不同程度的简化公式。
3 用MATLAB解方程的方法计算溶液氢离子浓度
所有教材在该知识点之前,均已详细介绍了质子条件式的写法和酸碱组分分布分数的计算这两个重要知识点。但此处在质子条件式中却没有代入分布分数的表达式,而是代入了平衡常数的表达式,然后再做一系列简化近似处理,而这些简化近似在数学上又不够严密,所以让学生无所适从。这样做只有一个目的,即为了回避“解二次以上的方程”这样一个在数学上很简单的问题,可是由此而产生的大量公式却给分析化学的学习带来了很大的麻烦和负担,这显然颠倒了分析化学主体知识与相关数学工具的主次关系。在今天看来,解一元高次方程已经有许多非常方便的手段,MATLAB就是其中之一。MATLAB的使用在理工科院校的数学、物理、机械、电子等专业的教学和学习中已非常普遍,但在化学相关专业中却迟迟未被积极采用。
解一元高次方程在MATLAB中非常简单:点击进入MATLAB的工作界面(Command Window)后只需输入一个语句:
solve(‘一元方程的表达式’)
回车即得到相应的解。其中的表达式甚至不需要整理成标准的形式,只要是原始的等式即可。
例1计算0.10 mol·L-1 NaAc水溶液的pH。
解:NaAc水溶液的质子条件式为:
[H+] + [HAc] = [OH-]
保留氢离子浓度[H+],同时将[OH-]转化为用[H+]来表达,其他组分的平衡浓度均用浓度c乘以分布分数δ来表达:
在MATLAB的CommandWindow中输入solve语句和上述表达式:
回车,得:
即[H+] = 0.134… × 10-8 mol·L-1,所以pH = 8.87(也可以输入-log10(H),回车得8.87)。
例2计算0.050 mol·L-1 H2SO4水溶液的pH。解:
在MATLAB中输入:
回车,得:
pH = 1.24(也可以输入-log10(H),回车得1.24)。
可见,用MATLAB计算溶液pH的步骤为:
①根据溶液的组成写出质子条件式;
②将各组分的“平衡浓度[]”以“总浓度c ×分布分数δ”的形式代入,得到关于[H+]或[OH-]的一元高次方程;
③在MATLAB中输入:solve(‘一元高次方程表达式’),回车。
任意酸碱溶液均可采用上述固定方法进行氢离子浓度的计算,而且所得结果还是较准确的而不是近似的。学会一个方法远比记忆几十个公式要方便得多,不仅充分发挥了“质子条件式”和“分布分数”两个重要知识点的作用,还摆脱了大量记忆性公式的束缚,便于学生将主要精力集中在分析方法本身的学习上。表1中的那些公式可以保留在教材中作为参考,在特定场合下直接使用,但不宜继续作为教学重点而耗费大量的学时甚至引发厌学情绪。酸碱滴定法的知识结构也应紧紧围绕前文所述的4个步骤做出适当的精简和调整。
参考文献
/
| 〈 |
|
〉 |

