APP下载

用Excel迭代运算程序解决复杂配位平衡体系中的准确计算问题

2016-09-14岳宣峰张智娟张延妮陕西师范大学陕西省生命分析化学重点实验室西安7006陕西师范大学药用资源与天然药物化学教育部重点实验室西安7006

大学化学 2016年8期
关键词:副反应分析化学单元格

岳宣峰 张智娟 张延妮(陕西师范大学陕西省生命分析化学重点实验室,西安7006;陕西师范大学药用资源与天然药物化学教育部重点实验室,西安7006)

·自学之友·

用Excel迭代运算程序解决复杂配位平衡体系中的准确计算问题

岳宣峰1张智娟1张延妮2,*
(1陕西师范大学陕西省生命分析化学重点实验室,西安710062;
2陕西师范大学药用资源与天然药物化学教育部重点实验室,西安710062)

采用Excel软件工作表格,通过程序设计引导迭代计算方向,解决了两个复杂配位平衡体系中离子浓度的精确计算问题,发展了简便的Excel计算方法,为复杂配位平衡体系中的精确计算提供了思路。

复杂配位平衡;迭代;准确计算;Excel

www.dxhx.pku.edu.cn

借助计算机语言和软件解决化学分析中的复杂计算已经引起人们的极大兴趣[1-7]。Excel软件[2]、VB[3]编程及C语言[4]已开始用于辅助酸碱滴定中的有关计算、绘图等。配位滴定中涉及到的计算往往更为复杂[8-10],其复杂的计算往往更需借助计算机语言或者软件的辅助。申义阳等[11]用BASIC编写程序计算配位滴定中的形成常数;付孝锦等[12]利用VB设计编程进行配位滴定理论终点的计算。常浪浪[13]探讨了利用Excel绘制配位滴定曲线的可能性,伍涛等[14]进一步用Excel进行配位滴定曲线的绘制。

在涉及配位滴定的计算中,在很多情况下滴定体系中同时存在多个配位平衡,目前高校通用教材[15-17]中通常只能对少数满足一定要求的体系经过简化处理,进行相关计算。如何利用通用的计算机语言和软件的强大计算能力,设计通用的程序来解决一般复杂体系的计算问题显得很有必要。

本文针对多个配位反应共存体系中离子浓度的精确计算问题,提出采用Excel软件工作表格,结合恰当的程序设计,引导迭代计算方向,发展简便的Excel方法,并应用于两个实例。

1 利用Excel的迭代运算功能解决多配位平衡共存体系中的精确计算问题

1.1涉及单一离子浓度的复杂配位平衡体系的计算

在武汉大学编写的《分析化学》教材第5版[17]配位滴定章节中有这样一道例题:溶液中含有27 mgAl3+和65.4 mg Zn2+,若加入1.0 g NHF,调节溶液的pH为5.5,以二甲酚橙作指示剂,用0.02 mol·L-14EDTA滴定Zn2+,能否准确滴定(假定终点的总体积为100 mL)?

在解题时,为了定量描述Al3+引起的EDTA的副反应,应该计算Al3+的平衡浓度,即[Al3+]。要计算[Al3+],就必须获得溶液中Al3+主要副反应发生的程度α,而α取决于F-的平衡浓度[F-,而Al(F)Al(F)sp[F-]sp的值很大程度上取决于αAl(F)。这样,逻辑的死循环出现了,其本质是复杂反应体系中多个平衡反应的同时共存,可以看出以上计算的难点在于如何获得[F-]sp。

现行教材[17]中的解决方法是对F-和Al3+的各级配位物AlFi的稳定常数(lgβ1-lgβ6:6.13、11.15、15.00、17.76、19.32和19.84)进行分析后推测AlF25-是可能的主要型体,并只考虑主要配位级数的反应平衡,从而避开计算上的死循环弊端、简化了计算([F-']sp=0.27-5×0.01=0.22 mol·L-1)并进一步获得[F-];随后通过α的各构成项β[F-]i的对比来验证这种推测的合理性。以上方法是现行多种教材spAl(F)i对这类涉及多个配位反应的复杂平衡体系的通用处理做法。体现了目前化学分析中对复杂平衡体系计算的常规做法:忽略次要反应,通过主要平衡,简化数学计算。通过以上处理确实解决了一部分复杂体系中的计算问题。但以上做法存在的问题有:

(1)这种做法带来的误差大小很难考查,有时会带来很大的误差,以上例题中简化计算的处理带来的误差并不大,但这只是个特例(简化处理得到的[F-']=0.2200 mol·L-1,而采用精确处理方法获得sp的[F-']=0.2158 mol·L-1)。sp

(2)在以上做法中做推理时除了必要的逻辑,有时不得不对哪个平衡反应是主要过程进行猜测(比如在金属离子与辅助配位剂生成的各级型体的稳定常数差别不明显的情况下),这必然增加了判断的不确定性。

(3)有些教材中也提出了逐步逼近法(try-and-error method),即先通过简化处理获得一个近似的[F-],然后利用这个近似的[F-]获得更为准确的α,基于此再获得更准确的[F-],采用此法通过多spspAl(F)sp次循环也许可以获得较为准确的结果,但是计算量可能会相当大。

(4)这类处理方法的最大弊端是:并不是所有的复杂多平衡体系都可以这样简化处理,比如:多个平行或者相继平衡反应趋势非常接近的情况。

为了精确求解[F-],我们对F-参与的平衡反应做全面分析后将计算分成两个步骤,先计算出不sp参与AlF的剩余F-的总浓度[F-,然后考虑酸效应后算出[F-。根据物料平衡,有关F-关系式如下ispsp(考虑逻辑的演进,我们定义迭代计算初始[F-]为[F-],每轮迭代计算结果[F-]为[F-]sp,平衡):

式(1)中:

式(2)中:

考虑酸效应后,[F-']sp和[F-]sp,平衡之间的关系式为:

其中,Ka(HF)为解离常数。

将式(2)-式(4)代入式(1),可以获得含有[F-]sp的方程:

其本质是一个忽略了离子强度的含有[F-]sp的一元七次方程,如果展开此关系式,计算相当复杂。我们利用Excel软件的迭代计算功能巧妙设计表达式(5),可以在不把以上高次方程展开的情况下方便地求出该方程的解,即[F-]sp。在Excel工作表上运行式(5)的设计见图1,具体步骤如下:

图1 计算[F-]sp,平衡的Excel表格

(1)进入Excel工作表,在“文件”菜单中选择“选项”命令,然后点击选项“公式”中的“计算选项”,再在“迭代计算”中设置最大迭代次数“1000”(根据误差及有理数解阈值等具体要求确定此数值),最大允许误差设置为“0”(根据允许误差的要求来设置此数值)。

(2)在单元格B2到F2中依次键入各种已知数值:0.27(溶液中F-的分析浓度csp

F,mol·L-1)、0.01(溶液中Al3+的分析浓度c,mol·L-1)、5.5(平衡体系的pH)、6.6×10-4(氢氟酸水溶液的解离Al3+常数K)、0.27(迭代计算中[F-]的初始值[F-],mol·L-1,一般根据单调区间和值阈等给一个合a(HF)spsp,初始适的初始数值,本例可以取值0.27 mol·L-1)。

(3)第3行到第6行依次填充:各级AlFi的形成常数βi(第3行);各级AlFi化学式中含有F-的个数(第4行);αAl(F)的各主要组成式表达式βi[L]i,例如单元格B5中的具体表达式为“=B3*POWER($F$2,B4)”(第5行);以及各级AlF形成时消耗的F-的浓度β[Al3+][F-]i×i,例单元格B6中的表达式为:iispsp,初始“=$C$2/(1+SUM($B$5:$G$5))*B3*POWER($F$2,B4)*B4”(第6行)。

(4)在单元格G2中键入[F-]sp,平衡的表达式,即式(5)(每轮循环计算的终点值),G2中的具体内容为:“=(B2-SUM(B6:G6))/(POWER(10,-D2)/E2+1)”。按“Enter”键获得来自初始值[F-]sp,初始的第一轮[F-]sp,平衡数值。

(5)再在单元格G2中键入“=F2”,按“Enter”键启动迭代计算。瞬即在单元格F2与G2中同时出现[F-]sp,平衡的数值“0.2158”。

1.2涉及多个离子浓度的复杂配位平衡体系的计算

在武汉大学编写的《分析化学》教材第5版[17]配位滴定章节中还有这样一道作业题:在pH=6.0的溶液中,含有0.02 mol·L-1[Zn2+]和0.02 mol·L-1[Cd2+],游离酒石酸根(Tart)浓度为0.2 mol·L-1,加入等体积的0.02 mol·L-1EDTA,计算lgKʹCdY和lgKʹZnY值。

解题的关键在于计算Zn2+、Cd2+及EDTA的平衡浓度[Zn2+]、[Cd2+]和[Y]。按照教材[17]中的思路是先预判以Cd2+与EDTA的反应为主反应进行分析,进而考虑由Tart等引起的Cd2+的副反应,由H+、Zn2+等引起的EDTA的副反应;而在接下来考虑的由Zn2+引起的EDTA的副反应中,Zn2+的平衡浓度[Zn2+]就成了关键;而[Zn2+]的获得要求先弄清楚Zn2+的副反应,计算Zn2+的副反应需要考虑3个物质的平衡浓度,分别是OH-、Tart及EDTA;而EDTA的平衡浓度却是以上计算的结果,这样以来死循环出现了。其本质是这里有5个平衡反应共存,计算的难点在于如何获得Zn2+、Cd2+及EDTA的平衡浓度[Zn2+]、[Cd2+]和[Y]。

为了精确求解[Zn2+]、[Cd2+]和[Y],需要发展适合此类体系的更为通用、更为准确的处理方法。首先对3种离子参与的5个共存的反应平衡做全面分析(酒石酸在pH=6.0时的酸效应可忽略不计[17])。根据3种物质的物料平衡,有关关系式如下:

利用副反应考虑以上等式,得:

进一步计算各个副反应系数,得到:

这是一个三元高次方程,可以通过Excel中单变量求解等方法[20]获得[Zn2+]、[Cd2+]和[Y],但计算稍显复杂;还有一个更为简便的方法,可以利用Excel软件的迭代运算功能巧妙设计式(8)中的任何一个等式,从而在不把以上高次方程展开的情况下方便地求出该方程的解。比如由式(8)中:[Y](KZnY[Zn2+]+KCdY[Cd2+]+αY(H))=0.01,得到:

[Y]=0.01(KZnY[Zn2+]+KCdY[Cd2+]+αY(H))-1(9)

将式(8)中前两个等式代入式(9),得到(考虑逻辑的演进,我们定义迭代计算初始[Y]为[Y]初始,每轮迭代计算结果的[Y]为[Y]平衡):

在Excel工作表上运行式(10)的设计见图2,具体步骤如下:

(1)设置同2.1节。

(2)在B列、D列和F列分别输入与Zn2+、Cd2+和配位剂有关的常数、浓度及副反应系数等。从B1 到B6分别输入KZnY、αZn(Y初始)(1+KZnY[Y]初始,具体表达式为“=1+B1*F1”)、αZn(Tart)(β1[Tart]+β2[Tart2]2+1,具体表达式为“=1+B4*F2+B5*POWER(F2,2)”)、β1(ZnTart2)、β2(ZnTart2)及[Zn2+](0.01×(KZnY[Y]+β1[Tart]+ β2[Tart]2+1)-1,具体表达式为:“=0.01/(POWER(10,16.5)*F1+POWER(10,6.32)+POWER(10,1.4)+1)”)。

在F列,从F1到F6依次键入[Y]起始(迭代运算中的初始值,本例可以取值0.01 mol·L-1)、[Tart]、αY(H)(pH=6.0)、αY(Zn)(1+KZnY[Zn],具体表达式为“=1+B1*B6”)、αY(Cd)(1+KCdY[Cd],具体表达式为“=1+D1*D6”)和[Y]平衡(式(10)右侧,具体表达式为:“=0.01/(POWER(10,16.5)*0.01/(POWER(10,16.5)*F1+POWER(10,6.32)+POWER(10,1.4)+1)+POWER(10,16.46)*0.01/(POWER(10,16.46)*F1+POWER(10,1.8)+1)+POWER(10,4.65))”)。

图2 计算[Zn2+]、[Cd2+]、[Y]的Excel表格

(3)再在单元格F1中键入“=F6”,按“Enter”键启动迭代运算。瞬即在单元格B6、D6及F6中出现[Zn2+]、[Cd2+]和[Y]的数值。

通过[Zn2+]、[Cd2+]和[Y]的准确数值,结合教材上lgKʹMY的计算公式[17],很容易获得lgKʹZnY和lgKʹCdY的值分别是-0.23和6.48。有趣的是,关于该题的解法,传统方法已经做过计算[18]和研判[19],对比之下,不难看出我们提出方法的准确性、通用性和简便性。

2 结论

通过以上两道计算题的求解,可以看到在同时存在多个平衡反应的体系中遇到复杂计算时,利用通用软件Excel的迭代运算功能、编写运算程序可以快速地获得相关计算的准确结果(在设计迭代运算时,注意要遵循一定的计算次序,否则即使有平衡计算关系等式,Excel也不能执行循环计算。在本文中用[F-]sp,初始和[F-]sp,平衡、[Y]起始和[Y]平衡结合来指示运算的次序和方向),为这类复杂问题的解决提供了一般的思路。拓展了Excel在分析化学中的应用,为强化化学分析计算提供了一个简单且方便的选择。

[1]雷志刚,陈标华,李成岳.计算机与应用化学,2002,19(6),775.

[2]岳宣峰,张延妮,卢樱,张志琪.计算机与应用化学,2006,23(11),1153.

[3]韩海洪.青海师范大学学报(自然科学版),2009,No.4,44.

[4]赵鑫,王殿书,丛培盛,朱仲良.计算机与应用化学,2010,27(2),257.

[5]占达东,柏文泉,李功科,甘峰.大学化学,2010,25(2),32.

[6]姚卫峰,池玉梅,张丽.广州化工,2010,38(1),224.

[7]彭琳,詹世景,乔伟艳.广东化工,2014,22(41),163.

[8]韩金土,薛灵芬,许春萱.信阳师范学院学报(自然科学版),2000,17(3),169.

[9]李丽敏.山东师范大学学报(自然科学版),2002,17(3),88.

[10]乔成立,李文新,乔宇泽.高师理科学刊,2009,29(5),73.

[11]申义阳,李俊,张琛,鲁风菊.洛阳师专学报,1998,17(2),91.

[12]付孝锦,张运陶.西华师范大学学报(自然科学版),2003,24(4),463.

[13]常浪浪.福建分析测试,2008,17(4),77.

[14]伍涛,吴湘,童艳华.湖州师范学院学报,2015,37(8),95.

[15]李克安.分析化学教程.北京:北京大学出版社,2006:4.

[16]华中师范大学.分析化学(上册).第4版.北京:高等教育出版社,2011:6.

[17]武汉大学.分析化学(上册).第5版.北京:高等教育出版社,2006:204-215.

[18]赵中一,邱海鸥.分析化学辅导与习题详解.武汉:华中科技大学出版社,2008:87-88.

[19]池泉,唐定国,刘畅先.化工高等教育,2013,No.5,101.

[20]彭海静.计算机应用与软件,2006,23(2),142.

Solution for Accurate Calculations in Complicated Coordination Equilibrium System with Excel lteration Program

YUE Xuan-Feng1ZHANG Zhi-Juan1ZHANG Yan-Ni2,*
(1Key Laboratory of Analytical Chemistry for Life Science of Shaanxi Province,Shaanxi Normal University,Xiʹan 710062,P.R.China;2Key Laboratory of the Ministry of Education for Medicinal Resources and Natural Pharmaceutical Chemistry,Shaanxi Normal University,Xiʹan 710062,P.R.China)

The excel iteration program was developed and provided a general approach for accurate calculation of complicated coordination equilibrium systems.

Complex coordination equilibrium;Iteration;Accurate calculation;Excel

O65;G64

10.3866/PKU.DXHX201510005

,Email:ynzhang@snnu.edu.cn

陕西师范大学研究生教学改革与研究项目(GERP-15-09);中央高校基本科研业务费专项资金项目(GK201503003,GK201603104);陕西省自然科学基金(2014JQ2-8048);陕西省科技厅社发攻关项目(2015SF088)

猜你喜欢

副反应分析化学单元格
基于线上线下教学模式的分析化学实验教学研究
流水账分类统计巧实现
玩转方格
玩转方格
Numerical simulation of flow separation over a backward-facing step with high Reynolds number
2018年全疆口蹄疫疫苗临床应用安全性结果分析
浅谈Excel中常见统计个数函数的用法
产学研结合模式下分析化学实验教学改革探索
重大动物疫病免疫副反应的处置
中药学专业分析化学基础课的教学探讨