淘先锋技术网

首页 1 2 3 4 5 6 7

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

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

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

关键词:线性 最小二乘法 速率常数 反应级数

一、引言

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

二、线性最小二乘法

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

它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。

式中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.3133.2243.1403.0602.984lnk-4.9370-4.2864-3.6119-2.9528-2.3314根据上表,用线性最小二乘法确定公式中的常数A和E。

解答过程如下:

对式两边取自然对数,得

令y=lnk,a=lnA,x=,于是上式变为y=a+Ex

用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)

得到

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=-3.00

时间t/min71217273747627792旋光度αt6.376.426.474.712.821.500.00-1.02-2.10 表2 蔗糖水解反应实验拟合修匀后的数据

时间t/min10203040506070旋光度αt6.51255.1254.11782.41811.0690-0.1684-0.5024最后将匀整后的数据作直线拟合,一级拟合偏差平方和最小为0.064,证明蔗糖水解反应确为一级反应。

2.2、化学动力学呈简单反应的速率常数和反应级数

2.2.1、计算的原理

按化学动力学呈简单反应的速率