线性最小二乘法在计算机化学中的应用

更新时间:2024-03-14 12:38:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

线性最小二乘法在化学中的应用

摘要:本文主要通过利用线性最小二乘法在解决温度与速率常数问题和求动力学的反应级数和速率常数中的应用,来说明线性最小二乘法在化学中的应用。 关键词:线性 最小二乘法 速率常数 反应级数 一、引言

在通常的化学实验中,经常要通过改变一个物理量的数值测定与它相关的另一物理量的变化。它们之间呈现的关系一般为简单的直线关系,或者经过数学换算后的关系呈现直线关系。如通常根据动力学的实验数据求出动力学参数。动力学参数就是指化学反应速率方程中的参数,如吸附平衡常数、反应速率常数以及反应级数等。处理这种实验数据一般应用最小二乘法进行直线拟合。但由于计算过程比较繁琐,人们往往舍去不用,而是在坐标纸上根据获得的实验数据描点做直线,这就不可避免的又引入了人为的主观误差。但随着计算机科学的发展,人们可以借助各种计算机软件如Matlab、Oringe和Visual Basic等,进行计算机编程后自动绘图,则所求斜率和截距能避免手工作图造成的误差,可信度更高。这就使得最小二乘法越来越被人们所采用,而本文主要讨论线性最小二乘法在化学中的应用。

二、线性最小二乘法

最小二乘法是一种统计学的方法,亦称回归分析法。原理是:对于一个正态分布来说,任何一个观测量的最大可能值X是使所有的观测值xi与X值的偏差之平方和为最小。即下式减至最小:

(X-x?i?1ni2)

它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。可以根据对残差求导时能否得到线性方程组,将最小二乘法分为线性最小二乘法和非线性最小二乘法。本文主要讨论线性最小二乘法。

线性最小二乘法在化学中有着广泛的应用,尤其是在物理化学实验中。下面我将举例子进行说明。

三、线性最小二乘法在化学中的应用实例

1、线性最小二乘法在解决温度与速率常数问题中的应用 1.1、温度与速率常数

温度可以影响反应速率,即温度每升高10K,反应速率大约增加2-4倍。Arrhenius通过实验研究提出了活化能的概念,并揭示了反应的速率常数与温度的依赖关系,即

k?Ae是表观活化能。

?EaRT

式中k是温度为T时反应的速率常数,R是摩尔气体常数,A是指前因子,Ea

1.2、Matlab中解决线性最小二乘法(线性回归)问题的函数为:lsqlin

k=lsqlin(x,y)

k为所求的参数,为矢量;y为所测点的值,为矢量;x为测量点的a和b的系数值。

1.3、已知某反应速率常数k随反应温度1/T变化的实验数据如下 1/RT(*le-4) 3.313 lnk -4.9370 3.224 -4.2864 3.140 -3.6119 3.060 -2.9528 ERT2.984 -2.3314 根据上表,用线性最小二乘法确定公式k解答过程如下: 对k?Ae?中的常数A和E。

?Ae?ERT式两边取自然对数,得lnk?lnA?1E RT1令y=lnk,a=lnA,x=-,于是上式变为y=a+Ex RT用Matlab编程如下:

x(:,2)=[3.313;3.224;3.140;3.060;2.984] y=[-4.9370;-4.2864;-3.6119;-2.9528;-2.33] x(:,2)= -le -4*x(:,2) x(:,1)=1; AE=lsqlin(x,y) A=exp(AE(1))

E=AE(2) 得到k?1.97588?109e?79600.22RT

2、线性最小二乘法在求动力学中的反应级数和速率常数中的应用 2.1蔗糖的水解反应的实验

该实验的目的是测定蔗糖转化的反应级数、速率常数。实验中测出一组旋光度(αt-α∞)和时间t,判断反应级数和计算出速率常数。若ln(αt-α∞)~t呈线性关系,为一级反应,若(αt-α∞)~t呈线性关系,为二级反应,若(αt-α∞)2~t呈线性关系,为三级反应。该实验应是一级反应,但由于用目测法手工作图,由于误差的原因,有时会得出一级或二级均可以的奇怪结论,所以在以往的实验中把该反应级数作为已知条件,只要求学生求出速率常数。而用线性最小二乘法拟合曲线,在计算机上处理,即可得出满意的结论。原理是,先用线性最小二乘法对(αt-α∞)曲线进行高次拟合,从(αt-α∞)曲线上读取等间隔时间t时的αt,作数据匀整,改进数据的离散性,然后进行直线拟合,拟合偏差最小者为该反应的反应级数。表1为某学生的实验数据,输入计算机后,进行高次拟合,并进行数据修匀,得到表2数据。本次拟合次数为7,拟合偏差为0.026,表示拟合较好。

表1 蔗糖水解反应实验数据

温度 20℃ 气压101325Pa HCl浓度3M α时间t/min 旋光度αt 7 6.37 12 6.42 17 6.47 27 4.71 37 2.82 47 1.50 t=-3.00

77 92 62 0.00 -1.02 -2.10 表2 蔗糖水解反应实验拟合修匀后的数据 时间t/min 旋光度αt 10 6.5125 20 5.125 30 4.1178 40 2.4181 50 1.0690 60 70 -0.1684 -0.5024 最后将匀整后的数据作直线拟合,一级拟合偏差平方和最小为0.064,证明蔗糖水解反应确为一级反应。

2.2、化学动力学呈简单反应的速率常数和反应级数 2.2.1、计算的原理

按化学动力学呈简单反应的速率方程式其积分形式分别为:

一级反应:LnC=LnC0-K1t 二级反应:1/C=1/C0+K2t 三级反应:1/C2=1/C02+2K3t 零级反应:C=C0-K0t

以上各式中,C为反应物在时间为t时的浓度,C0为反应物在t=0时的浓度。K1, K2,K3,K0分别为一级、二级、三级和零级反应的速率常数。t为反应时间。如果反应呈一级、二级、三级或零级反应特征,以实验所得时间与浓度数据进行拟合,则应呈现出对应的直线关系。速率常数的信息出现在斜率项中,起始浓度的信息出现在截距项中。以拟合直线的相关系数和截距数值比较的双重标准来判断直线的线性,从而确定反应的级数和速率常数。 2.2.2、程序说明

用BASIC程序确定化学动力学的速率常数和反应级数。程序含有三部分,第一步为输入实验值部分,分别输入实验测定的反应时间及对应的生成物浓度,并分别把生成物浓度换算成反应物浓度。最后键入字母“E”

或“e”(e代表“end”)结束数据点的输入。第二步把反应物浓度分别换算成按一级、二级、三级、零级所要求的拟合数据后,四次调用最小二乘直线回归子程序,分别计算出各自直线的线性相关系数r,直线斜率A,截距B,最后把斜率换算成k常数,截距换算成C0数据后分别输出四次计算结果,然后择其线性关系最好,拟合C0与实验C0最接近着确定级数和速率常数。 四、结论

上述实例可以说明,借助计算机科学技术,用线性最小二乘法可以方便地解决动力学参数问题。这种方法避免了复杂的数学处理,有效地降低了计算误差,结果更为精确。线性最小二乘法不仅在处理动力学问题等物理化学实验,也在分析化学实验以及化学学科的其他方面都有着非常重要的应用。总之,借助计算机软件,线性最小二乘法在化学中有着广泛的重要的应用。 五、参考文献

【1】清华大学化学系物理化学实验编写组[M].北京:清华大学出版社,1991. 【2】王漓江,曹伟.最小二乘法在物理化学实验中的应用.丹东纺专学报,2003,

10(3):33~34

【3】张春红,熊艰.计算机拟合在化学数据处理中的应用.上饶师范学院学报,

2007,27(3):73~77

【4】赵薇,张艳明.用线性回归分析确定反应的级数和速率常数.湖北医学院学报,

1991,12(4):338~339

【5】石秋忠,云志.在Maple平台上应用最小二乘法估算动力学参数.计算机与应

用化学,2008,25(1)67~73

【6】玉占君,张文伟,任庆云.电导法测定乙酸乙酯皂化反应速率常数的一种数

据处理方法.辽宁师范大学学报(自然科学报),2006,29(4)511~512

本文来源:https://www.bwwdw.com/article/d1e8.html

Top