数值误差对能斯特方程计算结果的影响

邵利民

引用本文: 邵利民. 数值误差对能斯特方程计算结果的影响[J]. 化学通报, 2020, 83(10): 951-954. shu
Citation:  Shao Limin. Effect of Numerical Error on Results of The Nernst Equation[J]. Chemistry, 2020, 83(10): 951-954. shu

数值误差对能斯特方程计算结果的影响

    作者简介: 邵利民  男, 博士, 副教授。E-mail:lshao@ustc.edu.cn;
  • 基金项目:

    安徽省重点教学研究项目(2017jyxm0028)资助

摘要: 电势和浓度通过能斯特方程相互计算时,计算结果受对方数值误差的影响。本文通过误差传递和实例研究了这种影响。结果表明,浓度误差对电势计算值的影响小,而电势误差对浓度计算值的影响大;这种现象在电子转移数较多、电势较大时更加显著。浓度为计算目标时需要重视数值误差的影响,所以代入能斯特方程的电势值应该有足够精度,或者避免使用能斯特方程,而是通过平衡常数进行计算。电势为计算目标时,浓度误差的影响较小,因此可以通过近似手段估算浓度,然后代入能斯特方程,既简化计算,又保证精度。

English

  • 能斯特方程反映电势与组分浓度之间的关系,是氧化还原平衡定量计算的基本方程。在理工农医师范类的分析化学教材中,能斯特方程都是重要内容[1~8]。电势和浓度通过能斯特方程相互计算时,计算结果受对方数值误差的影响。本文研究能斯特方程的误差传递,揭示对数和指数运算对数值误差的缩小和放大作用。误差传递的结论通过实例得到验证。基于上述结论,提出计算浓度和计算电势时的注意事项和减小误差的措施。

    通过对称电对Ox+ne⇌Red的能斯特方程进行误差分析:

    $ E=E^{⊖}+\frac{0.059}{n} \lg \frac{[\mathrm{Ox}]}{[\mathrm{Red}]} $

    E关于[Ox]的微分,得到:

    $ \mathrm{d} E=\frac{0.059}{n \ln 10} \frac{\mathrm{d}[\mathrm{Ox}]}{[\mathrm{Ox}]} $

    等号两侧同时除以E,得到:

    $ \frac{\mathrm{d} E}{E}=\frac{0.059}{n \ln 10 E} \frac{\mathrm{d}[\mathrm{Ox}]}{[\mathrm{Ox}]} $

    分别以$\frac{\Delta[\mathrm{Ox}]}{[\mathrm{Ox}]} $$ \frac{\Delta E}{E}$表示浓度值和电势值的相对误差,那么得到误差传递式:

    $ \frac{\Delta E}{E}=\frac{0.059}{n \ln 10 E} \frac{\Delta[ \mathrm{Ox}]}{[\mathrm{Ox}]} $

    通常情况下$\left|\frac{0.059}{n \ln 10 E}\right|<1 $,所以$ \left|\frac{\Delta E}{E}\right|< \left| \frac{\Delta[\mathrm{Ox}]}{[\mathrm{Ox}]}\right|$。该结果表明,电势和浓度通过能斯特方程相互计算时,前者的相对误差小于后者。简单地说,对数运算缩小误差,指数运算放大误差。这种现象在电子转移数较多、电势较大时尤为显著。如果上述误差分析过程基于E关于[Red]的微分,结论相同。

    数值误差的一个来源是数值精度,尤其是中间结果的精度。所以使用能斯特方程计算浓度时,电势值应该有足够精度;或者不使用能斯特方程,而是通过平衡常数得出浓度最终表达式,一步完成计算,避免中间结果。使用能斯特方程计算电势时,浓度误差的影响较小,即使浓度值的精度一般,结果通常也比较准确。

    数值误差的另一个来源是近似手段,所以计算浓度时应该避免估算电势;而计算电势时通常可以估算浓度,这样既简化计算,又能保证结果精度。

    下面是一些氧化还原平衡计算实例,每个实例都提供两种解法作对比,以揭示数值误差对能斯特方程计算结果的影响。

    例1:纯铜片置于0.10mol/L AgNO3溶液,计算平衡时的电势和[Ag+]。(电对Ag+/Ag和Cu2+/Cu的标准电势E1E2分别为0.7996V和0.3419V)

    解法一  E1E2相差很大,而且Cu又过量太多,所以反应比较完全,可以认为平衡时[Cu2+]=0.050mol/L,将之代入电对Cu2+/Cu的能斯特方程:

    $ E=E_{2}^{\ominus}+\frac{0.059}{2} \lg \left[\mathrm{Cu}^{2+}\right] $

    计算出E=0.304V;将该值代入电对Ag+/Ag的能斯特方程:

    $ E=E_{1}^{\ominus}+0.059 \lg \left[\mathrm{Ag}^{+}\right] $

    计算出[Ag+]=4.0×10-9mol/L。

    解法二  反应方程式为2Ag++Cu⇌2Ag+Cu2+,平衡常数如下:

    $ \frac{\left[\mathrm{Cu}^{2+}\right]}{\left[\mathrm{Ag}^{+}\right]^{2}}=10^{2 \frac{E_{1}^{\ominus}-E_{2}^{\ominus}}{0.059}} $

    代入[Cu2+]=0.050mol/L,计算出[Ag+]=3.9×10-9mol/L;将该值代入电对Ag+/Ag的能斯特方程,计算出E=0.303V。

    解法一的E值比较准确(E更精确的值为0.30352V),误差0.16%,原因是电势计算值受浓度误差的影响小。做个数字实验,将[Cu2+]设为0.047mol/L(误差高达-6%),代入到能斯特方程计算出E=0.303V,误差也只有-0.17%。

    解法一的[Ag+]值不太准确([Ag+]更精确的值为3.907×10-9mol/L),误差2.4%,原因是浓度计算值受电势误差的影响大,尽管电势误差只有0.16%。将E值精度提高为0.3035V,代入到能斯特方程计算出[Ag+]=3.9×10-9mol/L,误差降为-0.18%。

    解法二通过平衡常数推导出[Ag+]的直接计算式,一步计算即得结果。然后再计算E,虽然是分步计算,然而不必多虑浓度误差对E的影响。

    例2:在1mol/L HClO4介质中,以KMnO4溶液滴定Fe2+溶液。计算$\frac{\left[\mathrm{Fe}^{3+}\right]_{\mathrm{sp}}}{\left[\mathrm{Fe}^{2+}\right]_{\mathrm{sp}}} $。(电对KMnO4/Mn2+和Fe3+/Fe2+的条件电势E1⊖′E2⊖′分别为1.45V和0.767V)

    解法一:通过能斯特方程计算$ \frac{\left[\mathrm{Fe}^{3+}\right]_{\mathrm{sp}}}{\left[\mathrm{Fe}^{2+}\right]_{\mathrm{sp}}}$,关键在于Esp。使用条件电势时,MnO4-/Mn2+可视为对称电对;当反应物均为对称电对时,Esp计算公式如下:

    $ E_{\mathrm{sp}}=\frac{5 E_{1}^{\ominus^{\ominus}}+E_{2}^{\ominus^{\ominus}}}{6} $

    代入相关数值,计算出Esp=1.34V。然后,将Esp=1.34V代入电对Fe3+/Fe2+的能斯特方程,计算出$ \frac{\left[\mathrm{Fe}^{3+}\right]_{\mathrm{sp}}}{\left[\mathrm{Fe}^{2+}\right]_{\mathrm{sp}}}=5.15 \times 10^{9}$

    解法二:将$E_{\mathrm{sp}}=\frac{5 E_{1}^{\ominus^{\ominus}}+E_{2}^{\ominus^{\ominus}}}{6} $代入电对Fe3+/Fe2+的能斯特方程,整理后得到:

    $ \frac{5 E_{1}^{\ominus^{\prime}}-5 E_{2}^{\ominus^{\prime}}}{6}=0.059 \lg \frac{\left[\mathrm{Fe}^{3+}\right]_{\mathrm{sp}}}{\left[\mathrm{Fe}^{2+}\right]_{\mathrm{sp}}} $

    代入相关数值,计算出$ \frac{\left[\mathrm{Fe}^{3+}\right]_{\mathrm{sp}}}{\left[\mathrm{Fe}^{2+}\right]_{\mathrm{sp}}}=4.4310^{9}$

    解法二直接计算,一步得到结果,没有近似;解法一分步计算,中间值Esp的精度会影响最终结果。解法一结果的误差为16.3%,原因是中间结果Esp=1.34V的精度不够。Esp更精确的值为1.33616V,如果在解法一使用该值,那么得到$\frac{\left[\mathrm{Fe}^{3+}\right]_{\mathrm{sp}}}{\left[\mathrm{Fe}^{2+}\right]_{\mathrm{sp}}}=4.43 \times 10^{9} $,与精确结果相同。

    解法一中,Esp=1.34V的相对误差为0.29%,而最终结果的误差高达16.3%,增大了50多倍。对于例1解法一,浓度误差(2.4%)相比于电势误差(0.16%),增大了15倍,原因是例1中的电势值较小。由前面的误差分析可知:从电势计算浓度时,如果电子转移数相同,那么电势越大,浓度计算值的误差就越大。

    例3:在0.100mol/L KBrO3溶液中,[H+]=1.00×10-7mol/L。向该溶液加入过量KBr,平衡时[Br-]=1.00mol/L。KBrO3和KBr在中性条件下不反应,计算平衡体系的电势和[Br2]。(电对BrO3-/Br2和Br2/Br-的标准电势E1E2分别为1.482V和1.0873V)

    解法一:列出两个能斯特方程:

    $ E=E_{1}^{\ominus}+\frac{0.059}{5} \lg \frac{\left[\mathrm{BrO}_{3}^{-}\right]\left[\mathrm{H}^{+}\right]^{6}}{\sqrt{\left[\mathrm{Br}_{2}\right]}} $

    (1)

    $ E=E_{2}^{\ominus}+\frac{0.059}{2} \lg \frac{\left[\mathrm{Br}_{2}\right]}{\left[\mathrm{Br}^{-}\right]^{2}} $

    (2)

    (1)×5+(2)以消去[Br2],得到:

    $6 E=5 E_{1}^{\ominus}+E_{2}^{\ominus}+0.059 \lg \frac{\left[\mathrm{BrO}_{3}^{-}\right]\left[\mathrm{H}^{+}\right]^{6}}{\left[\mathrm{Br}^{-}\right]} $ KBrO3和KBr在中性条件下不反应,所以[H+]=1.00×10-7mol/L、[BrO3-]=0.100mol/L,代入上式后计算出E=0.993V。

    E=0.993V分别代入(1)、(2)两式,计算出[Br2]=7.61×10-4mol/L和[Br2]=6.36×10-4mol/L。两个计算值相差太大,原因是E=0.993V精度不够。E更精确的数值为0.9933833,使用该数值,通过两个能斯特方程都能够得到[Br2]=6.55×10-4mol/L。

    为了进一步研究数值误差的影响,将精度不同的电势值E分别代入(1)、(2)两式,计算出[Br2],并计算相应的误差,结果见表 1。从表中数据可以看出,[Br2]的误差比E的误差高2~3个数量级,即相对误差不大的电势值会导致较大的浓度误差,而不太准确的浓度值则可以得出较为准确的电势值。此外,式(1)计算出的[Br2]的误差大于式(2),这是因为式(1)中的电子转移数更大。

    表 1

    表 1  精度不同的电势值和从两个能斯特方程计算出的[Br2],括号中的数值是相对误差
    Table 1.  Different accuracy values of potential and corresponding [Br2] calculated with two Nernst equations respectively. Relative errors of the calculated [Br2] are parenthesized
    下载: 导出CSV
    电势值E/V 式(1)计算出的[Br2]/(mol/L) 式(2)计算出的[Br2] /(mol/L)
    0.993 (-0.039%) 7.61×10-4 (16.1%) 6.36×10-4 (-2.9%)
    0.9934 (0.0017%) 6.51×10-4 (-0.64%) 6.56×10-4 (0.12%)
    0.99338(-0.00034%) 6.56×10-4(0.12%) 6.55×10-4(-0.033%)
    0.993383(-0.000034%) 6.55×10-4(-0.033%) 6.55×10-4(-0.033%)

    解法二:反应方程式为BrO3-+5Br-+6H+⇌3Br2+3H2O,平衡常数如下:

    $ \frac{\left[\mathrm{Br}_{2}\right]^{3}}{\left[\mathrm{BrO}_{3}^{-}\right]\left[\mathrm{Br}^{-}\right]^{5}\left[\mathrm{H}^{+}\right]^{6}}=10^{5 \frac{E_{1}^{\ominus}-E_{2}^{\ominus}}{0.059}} $

    将相应数值代入上式即可计算出[Br2]=6.55×10-4mol/L;将此数值代入式(1)或者式(2),均可得到E=0.993V。

    能斯特方程涉及对数和指数运算,这两种运算对数值误差的放大作用不同。对数运算——由浓度计算电势——缩小误差,因此电势计算值通常比较准确;指数运算——由电势计算浓度——放大误差,因此浓度计算值易受影响。这种现象在电子转移数较多、电势较大时尤为显著。计算浓度时,为使结果准确,(1)电势值应该有足够精度;(2)不使用能斯特方程,而是通过平衡常数得出最终表达式,一步完成计算,也可以仍然使用能斯特方程分步计算,但是不要修约中间结果,保持精度;(3)计算过程中避免近似手段。计算电势时,浓度误差影响较小,电子转移数较大时更是如此,那么为了简化计算可以采用近似手段。

    计算软件,如Matlab,通常使用双精度,所以用于能斯特方程相关计算时不必考虑数值误差的影响。科学计算器的精度也很高,计算时只要记录足够精确的中间结果,那么也不必考虑数值误差的影响。


    1. [1]

      王运, 胡先文主编.无机及分析化学(第四版).北京:科学出版社, 2016.

    2. [2]

      李娜, Hefferren J J, 李克安. Quantitative Chemical Analysis.北京:北京大学出版社, 2009.

    3. [3]

      胡育筑主编.分析化学(第四版).北京:科学出版社, 2015.

    4. [4]

      华中师范大学等6校合编.分析化学(第四版).北京:高等教育出版社, 2011.

    5. [5]

      王玉枝, 张正奇主编.分析化学(第三版).北京:科学出版社, 2016.

    6. [6]

      李龙泉, 朱玉瑞, 金谷, 等.定量化学分析(第二版).合肥:中国科学技术大学出版社, 2005.

    7. [7]

      武汉大学.分析化学(第五版).北京:高等教育出版社, 2006.

    8. [8]

      邵利民.分析化学.北京:科学出版社, 2016.

  • 表 1  精度不同的电势值和从两个能斯特方程计算出的[Br2],括号中的数值是相对误差

    Table 1.  Different accuracy values of potential and corresponding [Br2] calculated with two Nernst equations respectively. Relative errors of the calculated [Br2] are parenthesized

    电势值E/V 式(1)计算出的[Br2]/(mol/L) 式(2)计算出的[Br2] /(mol/L)
    0.993 (-0.039%) 7.61×10-4 (16.1%) 6.36×10-4 (-2.9%)
    0.9934 (0.0017%) 6.51×10-4 (-0.64%) 6.56×10-4 (0.12%)
    0.99338(-0.00034%) 6.56×10-4(0.12%) 6.55×10-4(-0.033%)
    0.993383(-0.000034%) 6.55×10-4(-0.033%) 6.55×10-4(-0.033%)
    下载: 导出CSV
  • 加载中
计量
  • PDF下载量:  11
  • 文章访问数:  1376
  • HTML全文浏览量:  408
文章相关
  • 发布日期:  2020-10-01
  • 收稿日期:  2020-04-29
  • 接受日期:  2020-05-30
通讯作者: 陈斌, bchen63@163.com
  • 1. 

    沈阳化工大学材料科学与工程学院 沈阳 110142

  1. 本站搜索
  2. 百度学术搜索
  3. 万方数据库搜索
  4. CNKI搜索

/

返回文章