excel...

4
ISSN1672-4305 CN12-1352 / N LABORATORY SCIENCE 20 2017 Vol 20 No 1 Feb 2017 使用 Excel 求解动力学微分方程组参数的教学实践 葛华才李映伟华婷婷 华南理工大学 化学与化工学院广东 广州 510640在化学动力学和化学反应工程等课程的实验教学中涉及到无法积分的一阶微分动力学方程组常需要编程方法求解采用数值积分和 Excel 规划求解功能通过使计算的浓度的相对偏差平方和最 小的方法求解动力学参数完全无需编程讨论了时间间隔和方程参数初值的选取等问题经多年的教学实 践表明该方法通俗易懂学生容易掌握关键词微分动力学方程数值解; Excel; 实验教学 中图分类号O643 文献标识码doi10.3969 / j.issn.1672-4305.2017.01.029 Teaching practice on solution of parameters for kinetic differential equations using Excel software GE Hua-cai, LI Ying-wei, HUA Ting-ting (College of Chemistry and Chemical Engineering, South China University of Technology, Guangzhou 510640, China) Abstract : In some experimental courses such as chemical kinetics and chemical reaction engineering, first- order differential kinetic equations often needed to be solved by programming. The numerical method and solver of Excel software were used to solve the parameters of these equations by minimizing the sum of squares of relative deviation of the calculated concentrations without programming. The choices of the time interval and parameters were discussed. The teaching practice indicated that this method was easy to understand and learn for students. Key words: differential kinetic equations; numerical solution; Excel; experimental teaching 基金项目广东省级精品教材建设项目 项目编号201402) ;华南理工大学教研项目(2015) 和研 究生教研项目项目编号:yjzk2014003) 。 在化学动力学化学反应工程计算机在化学中 的应用和物理化学等课程的实验教学中均会涉及一 阶微分动力学方程或方程组 [1-4] 在动力学研究中 亦经常遇到此类方程 [5] 简单的一阶微分动力学 方程可直接求解 [6] 但复杂的一阶微分动力学方程 或方程组通常采用编程的方法求解 [7-11] 编程需要 熟悉一种计算机算法语言且出错时不易发现若不 用编程即可求解此类方程的参数这对学习相关课 程的学生和从事动力学的研究者来说无疑获益良 本文将采用数值积分和 Excel 规划求解能求解一阶微分动力学方程的参数同时模拟实验 过程浓度的变化一阶微分动力学方程组和数值解 对于存在 个组分的反应系统(A = 1,2,..., ),各组分 的浓度 (A 简记为 则其随时间 的变化可表示为 /d,...,),=1,2,...,(1) (1) 即为一阶微分动力学方程组其中 ,...) 为待求的参数组数值解的原理是将微 /d用差分 Δ/Δ近似代替/d≈( )/ ,..., (2) 移项得 ,...,(3) 其中 Δ为时间间隔通常取较小的值若知道 =0 时对应的初浓度 =0 代入式(3) 可计 类似地可计算 =2=3... jh ... 种方法称为微分方程的数值解法

Upload: others

Post on 06-Nov-2020

19 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Excel 求解动力学微分方程组参数的教学实践葛华才,等:使用Excel求解动力学微分方程组参数的教学实践 在单元G4~J4分别输入实验时间对应计算得

 ISSN1672-4305CN12-1352 N

实    验    室    科    学

LABORATORY  SCIENCE第 20卷  第 1期  2017年 2月Vol1049008 20  No1049008 1   Feb1049008 2017

使用 Excel求解动力学微分方程组参数的教学实践

葛华才 李映伟 华婷婷(华南理工大学 化学与化工学院 广东 广州  510640)

摘  要 在化学动力学和化学反应工程等课程的实验教学中 涉及到无法积分的一阶微分动力学方程组 通

常需要编程方法求解 采用数值积分和 Excel的 ldquo规划求解rdquo 功能 通过使计算的浓度的相对偏差平方和最

小的方法求解动力学参数 完全无需编程 讨论了时间间隔和方程参数初值的选取等问题 经多年的教学实

践表明 该方法通俗易懂 学生容易掌握关键词 微分动力学方程 数值解 Excel 实验教学

中图分类号O643    文献标识码A    doi103969 jissn1672-4305201701029

Teaching practice on solution of parameters for kineticdifferential equations using Excel software

GE Hua-cai LI Ying-wei HUA Ting-ting(College of Chemistry and Chemical Engineering South China University of Technology Guangzhou 510640 China)

Abstract In some experimental courses such as chemical kinetics and chemical reaction engineeringfirst- order differential kinetic equations often needed to be solved by programming The numericalmethod and solver of Excel software were used to solve the parameters of these equations by minimizingthe sum of squares of relative deviation of the calculated concentrations without programming Thechoices of the time interval and parameters were discussed The teaching practice indicated that thismethod was easy to understand and learn for studentsKey words differential kinetic equations numerical solution Excel experimental teaching

                                                                         

    

基金项目广东省级精品教材建设项目 (项目编号201402)华南理工大学教研项目(2015)和研

究生教研项目(项目编号yjzk2014003)

    在化学动力学化学反应工程计算机在化学中

的应用和物理化学等课程的实验教学中均会涉及一

阶微分动力学方程或方程组[1-4]在动力学研究中

亦经常遇到此类方程[5] 简单的一阶微分动力学

方程可直接求解[6]但复杂的一阶微分动力学方程

或方程组通常采用编程的方法求解[7-11] 编程需要

熟悉一种计算机算法语言且出错时不易发现 若不

用编程即可求解此类方程的参数这对学习相关课

程的学生和从事动力学的研究者来说无疑获益良

多 本文将采用数值积分和 Excel的ldquo规划求解rdquo功能求解一阶微分动力学方程的参数同时模拟实验

过程浓度的变化

1  一阶微分动力学方程组和数值解

对于存在 n 个组分的反应系统(Aii = 12n)各组分 Ai的浓度 c(Ai)简记为 ci则其随时间 t的变化可表示为

dci dt= fi(atc1c2cn)i= 12n (1)式(1)即为一阶微分动力学方程组其中 a =

(a1a2)为待求的参数组 数值解的原理是将微

分 dci dt 用差分 Δci Δt 近似代替即dci dtasymp( cit= t+h - cit= t ) h = fi ( a t c1 c2

cn) t= t (2)移项得

cit= t+h = cit= t+fi(atc1c2cn) t= th (3)其中 h(即 Δt)为时间间隔通常取较小的值

若知道 t= 0时对应的初浓度 cit=0代入式(3)可计

算 cit=h类似地可计算 cit=2hcit=3hcit= jh这种方法称为微分方程的数值解法

式(2)使用一阶差分代替微分故式(3)为一阶

差分法计算公式误差较大 常用四阶的 Runge -Kunta法计算式如下

ci t = t + h = ci t = t+(gi 1+2gi 2+2gi 3+gi 4) 6 (4)其中

gi 1 =h fi(atc1c2cn)gi 2 =h fi(at+h 2c1+gi 1 2c2+gi 1 2cn+gi 1 2)gi 3 =h fi(at+h 2c1+gi 2 2c2+gi 2 2cn+gi 2 2)gi 4 =h fi(at+hc1+gi 3c2+gi 3cn+gi 3)

(5)

实验时可测定不同时刻 t0t1t2对应各组分

( i= 12)的浓度 ci 0ci t 1ci t 2方程(1)中 fi(atc1c2cn)的表达式已知但需求参数组 a即求解带参数的一阶微分方程或方程组 一般可用

迭代法通过编程求解非线性参数 a但编程难度大而 Excel的ldquo规划求解rdquo具有这种迭代求解功能 具

体方法为先假设参数 a 为一定值(初值与实际值

越接近越理想)通过数值求解方程(1)计算得到

不同时刻各组分的浓度 c计算it j 从中找出与实验时间

对应的浓度计算相对偏差平方和 P即

P =sumt jsum

i1 -

c计算it j

c实验it j

aelig

egraveccedilccedil

ouml

oslashdividedivide

(6)

Excel的ldquo规划求解rdquo功能可通过迭代改变参数

a 值使 Prarr0(实际取 10-6即可可保证计算的所有

浓度数据有 3 位有效数字)这时的 a 值即为合理

解 若无法实现 Prarr0说明开始给定的参数 a 值不

合理尝试改变其值以得到合理解

2  使用 Excel实现数值解的步骤

为简单起见以下列两个平行的基元反应为例

Ak1rarr C

B+Bk2rarr D

cA和 cB分别记为 c1和 c2动力学方程可写成dc1 dt = -k1c1 = f1 (7)dc2 dt = -k2c2 2 = f2 (8)方程组的准确解分别为c1 = c10exp(-k1 t)c2 =

c20 (1+k2 t c20)其中 c10和 c20为组分 A和 B 的初

浓度 设速率常数 k1和 k2分别 0002 s-1和 0003 L

mol-1 s-1初浓度 c10和 c20均为 1 mol L-1 设实验

测定 A和 B的浓度数据如表 1所示使用 Excel求解参数 k1和 k2的具体步骤如下(1)将有关反应信息和实验数据输入电子表格

中如图 1所示即输入 A1F6 和 G1J3 的内容其中 E1J3为表 1的实验数据

表 1  组分 A和 B的浓度随时间的实验值

t s 0 120 240 360 500

c1 (molL-1) 1 07866 06188 04868 03679

c2 (molL-1) 1 07353 05814 04808 04000

(2)在单元 C8和 F8 分别输入 k1和 k2的初值如均为 01在单元 C9输入计算的时间间隔(h)如1 在 A12B12C12分别输入反应初始时间和两个

组分的对应的初浓度(3)不同时刻对应浓度的计算

单元 A13输入初始时间增加一个时间间隔后

的时间表达式ldquo =A12+ $ C $ 9rdquo(注意双引号不要

输入以后类同)若使用一阶差分公式 ( 3)浓度单元 B13 和

C13分别输入对应的公式ldquo = B12- $ C $ 8lowastB12lowast$ C $ 9rdquo和ldquo =C12- $ F $ 8lowastC12^2lowast $ C $ 9rdquo然后

选定区域 A13C13执行ldquo复制rdquo命令用键盘或鼠标

选定 A14C612区域后执行ldquo黏贴rdquo命令计算出时

间从 0-600 s 对应两个组分浓度的值(行 12 ~ 612对应列 B和 C)

若使用四阶 Runge-Kunta 法公式(4)浓度单

元 B13和 C13分别输入对应的公式ldquo = B12+(D13+2lowastE13+2lowastF13+G13) 6rdquo和ldquo = C12+(H13+2lowastI13+2lowastJ13+K13) 6rdquoD13~G13 对应的单元分别输入

微分方程(7)对应式(5)的 4 个 gi值即依次为ldquo =$ C $ 9lowast(- $ C $ 8)lowastB12rdquoldquo = $ C $ 9lowast( - $ C$ 8)lowast(B12+D13 2)rdquoldquo = $ C $ 9lowast(- $ C $ 8)lowast(B12+E13 2)rdquo和ldquo = $ C $ 9lowast(- $ C $ 8)lowast(B12+F13)rdquoH13 ~ K13 对应的单元分别输入微分方程

(8)对应式(5)的 4 个 gi值即依次为ldquo = $ C $ 9lowast(- $ F $ 8)lowastC12^2rdquoldquo = $ C $ 9lowast(- $ F $ 8)lowast(C12+H13 2)^2rdquoldquo = $ C $ 9lowast(- $ F $ 8)lowast(C12+I13 2)^2rdquo和ldquo = $ C $ 9lowast(- $ F $ 8)lowast(C12+J13)^2rdquo然后选定区域 A13K13执行ldquo复制rdquo命令用键

盘或鼠标选定 A14K612 区域后执行ldquo黏贴rdquo命令计算出时间从 0-600 s 对应两个组分浓度的值(行12~612对应列 B和 C)具体如图 1所示

图 1  Excel 求解一阶微分动力学方程示例

(4)计算浓度的相对偏差平分和 P

89                    

葛华才等使用 Excel求解动力学微分方程组参数的教学实践

在单元 G4~ J4 分别输入实验时间对应计算得

到的 A 浓度值的对应单元即依次输入为 ldquo =B132rdquoldquo =B252rdquoldquo =B372rdquo和ldquo =B512rdquo在单元 G5~ J5 分别输入实验时间对应计算得到的 B 浓度值

的对应单元即依次输入为ldquo = C132rdquoldquo = C252rdquoldquo =C372rdquo和ldquo =C512rdquo在单元 G6~ J6分别输入浓度

的偏差平方和即依次输入为ldquo = (1-G4 G2) ^2+(1-G5 G3)^2rdquoldquo = (1-H4 H2) ^2+(1-H5 H3) ^2rdquoldquo =(1-I4 I2)^2+(1-I5 I3) ^2rdquo和ldquo = (1-J4 J2) ^2+(1-J5 J3) ^2rdquo在单元 J7 输入 P 的计算值式ldquo =SUM(G6J6)rdquo

(5)执行规划求解

Excel 的ldquo规划求解rdquo功能是在完全安装 Office或完全安装 Excel 的基础上才可实现的功能它实

质是一个插件程序(宏) 以 Office2010 为例首次

使用时选择ldquo文件rarr选项rarr加载宏rarr转到rdquo菜单命

令在弹出ldquo加载宏rdquo标签中选ldquo规划求解rdquo确定后在ldquo数据rdquo菜单中将出现ldquo规划求解rdquo项选择该项即

可进入ldquo规划求解参数rdquo标签 设置目标单元格(即P 值单元)为 J7等于选ldquo最小值rdquo可变单元格(即待求参数 k1和 k2多参数时用逗号分隔)输入 C8F8 单击ldquo选项rdquo弹出ldquo规划求解选项rdquo标签其中

最长运算时间和迭代次数标准设定为 100 秒和 100次已满足基本计算要求一般无需修改精度允许

误差和收敛度建议均输入较小值 1e-8(即 10-8)考虑到速率常数为正所以选定ldquo假定为负rdquo其余不

用选单击ldquo确定rdquo返回ldquo规划求解参数rdquo标签 若对

参数取值有限制可单击ldquo添加rdquo约束条件(如 k1 >0等等)本例不用选 至此基本参数确定单击ldquo求解rdquo即可观察迭代过程很快得到解

一阶法k1 = 0001998  k2 = 0003 P = 4331E-08

四阶法k1 = 0002  k2 = 0003000 P = 2543E-10

准确值 k1 = 0002和 k2 = 0003从计算结果可知一阶和四阶法的结果均非常

接近实际值四阶法的误差更小些 计算的浓度的

相对偏差平方和小于 10-7即有效数字至少有 4 位

与实验值一致(6)绘制浓度随时间的变化曲线确定合理的

参数初值

将浓度和时间的实验值数据(F1J3)绘成实验

点(散点)将计算得到的浓度与时间关系的数据

(A12C612)绘成线在同一图(图 1 右部)中给出由于参数 k1和 k2的初值对ldquo规划求解rdquo的结果影响

很大一般应尽可能取接近实际的值但通常并不知

道实际值 这时初值可均取为 1观察 P 和计算的

浓度曲线与实验点的接近程度若发现 P 太大或曲

线与实验点没有任何关联可尝试按 10 倍增大或

1 10缩小参数观察曲线远离还是靠近实验点的情

况决定是增大还是缩小参数对于本例若 k1和 k2的初值均取为 1除初浓度

外其它浓度计算值均为 0浓度曲线严重偏离实验

值P = 8 ldquo规划求解rdquo的 k1 和 k2 值分别为 1 和

01049008 003P= 4显然结果不合理 若 k1和 k2的初值均

取为 01此时计算的浓度值基本不为 0浓度曲线

与实验值虽偏离较大但相对接近实验点此时进行

ldquo规划求解rdquo结果即为前述的合理解时间间隔(h)值的选取对实验结果亦会影响

根据数学迭代原理只要前后时间间隔的浓度差与

前步浓度的比值小于 1迭代即不会发散这可作为

h 值选取的基本条件如本例 h 取 1其比值小于

01049008 1故选取合理 当然迭代求解后其比值应该远

小于 01时的结果方为合理

3  实践应用

以丁二酸二乙酯(B)和氢氧化钠(A)的皂化反

应为例[12]皂化反应分两步第一步产物为一级皂

化物(C)和乙醇(E)一级皂化物继续皂化为丁二

酸二钠(D)和乙醇即

A + Bk1rarr C + E

A + Ck2rarr D + E

反应的微分动力学方程为dcA dt = -k1cAcB-k2cAcC = f1 (9)dcB dt = -k1cAcB = f2 (10)dcC dt = k1cAcB-k2cAcC = f3 (11)实验时 cA0 = 1992times10

-3 molmiddotdm-3cB0 = 996times10-3molmiddotdm-3反应在 25进行实验得到的碱浓

度与时间的关系如图 2的区域 F1L2所示

图 2   Excel求解实际反应的一阶微分动力学方程的参数

使用 Excel求解方程组(9) ~ (11)的参数 k1和

99

k2时涉及反应组分 AB 和 C其浓度分别记为 c1c2和 c3初浓度分别放置在单元 B13C13 和 D13中k1和 k2的初值h 值分别设在单元 C9E9 和 C10中区域 H3L3为对应实验时间计算所得 A的浓度

值(与前述类似输入公式引用如单元 H3 输入 =B74 )区域 H5L5分别计算各浓度的相对偏差的

平方(如单元 H5输入公式 =(1-H3 H2) ^2 其余

可复制此公式)单元 G6 输入公式 = SUM(H5L5)计算总的相对偏差平方和(P)

下面仅介绍 4阶法处理过程区域单元 A14~D14分别输入公式 =A13+ $ C

$ 10 B13+(E14+2lowastF14+2lowastG14+H14) 6 =C13+( I14+2lowastJ14 + 2lowastK14+L14) 6和 = D13+(M14+2lowastN14+2lowastO14+P14) 6

区域单元 E14 ~ H14 分别输入微分方程式(9)对应式(5)的 4个 G值即公式 = -B13lowast( $ C $ 9lowastC13 + $ E $ 9lowastD13) lowast $ C $ 10 = - ( B13 +E14 2)lowast( $ C $ 9lowast(C13+E14 2)+ $ E $ 9lowast(D13+E14 2))lowast $ C $ 10 = -(B13+F14 2)lowast( $ C$ 9lowast(C13 +F14 2) + $ E $ 9lowast(D13 +F14 2))lowast$ C $ 10和 = -(B13+G14)lowast( $ C $ 9lowast(C13+G14)+ $ E $ 9lowast(D13+G14))lowast $ C $ 10

区域单元 I14 ~ L14 分别输入微分方程式(10)对应式(5)的 4个 G值即公式 = - $ C $ 9lowastB13lowastC13lowast $ C $ 10 = - $ C $ 9lowast(B13 + I14 2) lowast(C13+ I14 2) lowast $ C $ 10 = - $ C $ 9lowast(B13 +J14 2)lowast(C13+J14 2)lowast $ C $ 10和 = - $ C $ 9lowast(B13+K14)lowast(C13+K14)lowast $ C $ 10

区域单元 M14~ P14 分别输入微分方程式(11)对应式(5)的 4个 G值即公式 =B13lowast( $ C $ 9lowastC13- $ E $ 9lowastD13)lowast $ C $ 10 = (B13+M14 2)lowast( $ C $ 9lowast(C13+M14 2) - $ E $ 9lowast(D13+M14 2))lowast $ C $ 10 = (B13 +N14 2) lowast( $ C $ 9lowast(C13 + N14 2) - $ E $ 9lowast(D13 + N14 2)) lowast $ C$ 10和 =(B13+O14)lowast( $ C $ 9lowast(C13+O14) -$ E $ 9lowast(D13+O14))lowast $ C $ 10

然后将区域 A14P14 复制到 A15P1650完成

不同时间对应浓度的计算将 A的浓度与实验时间对应的数据(G1L2)

绘成散点将计算的浓度(A13D1650)在同一图中

绘成浓度时间曲线ldquo规划求解rdquo时 h 取为 10k1和 k2的初值均取为

1或 01时所得的 k 值和浓度不符合实际结果k1和 k2的初值分别取为 01 和 005 时所得的解分别

为 004278和 0001533与文献值 00428和 000154非常接近计算 A的浓度曲线完全经过实验点B和

C 的浓度变化亦合理 改变 h 为 5和 25结果与 10非常类似所以 h 取 10已合理

5  结语

使用数值解和 Excel的ldquo规划求解rdquo求解一阶微

分动力学方程组的参数无需编程 通过合理选取

时间间隔和动力学参数初值即可得到合理的参数

解同时还可模拟实际的浓度变化 通过多年的教

学实践表明该方法简单明了学生容易掌握

参考文献(References)

[1]   王承学胡永琪化学反应工程[M]2 版北京化学工业出版

社2015[2]   吴元欣张珩反应工程简明教程[M]北京高等教育出版社

2013[3]   方利国计算机在化学化工中的应用[M]北京化学工业出版

社2011[4]   葛华才袁高清彭程物理化学[M]北京高等教育出版社

2008[5]   张少军物理化学反应动力学普适方程研究mdashz指数方程的构

建[EB OL][2010-01-12]http wwwcnkinet kcms detail 641006N201411100909001html

[6]   葛华才朱明丽使用 Excel 软件求取反应级数的快速方法

[J] 实验室科学201316(1)108-110[7]   马红武赵学明赵晓芸应用 Excel处理生化过程数据(Ⅱ)动

力学方程参数估值[ J] 计算机与应用化学199916(1)67-

70[8]   熊杰明张丽萍吕九琢反应动力学参数的计算方法与计算误

差[J] 计算机与应用化学200320(1)159-162[9]   郭翔丛培盛朱仲良等化学动力学过程模拟软件的开发

[J] 计算机与应用化学200623(6)565-568[10]   范荫恒张婷婷武美霞计算机模拟对峙化学反应动力学过

程[J] 实验科学与技术20075(5)78-79[11]   任庆云王松涛玉占君等模拟一级和二级反应同时发生的

化学反应动力学过程软件的开发[J] 辽宁师范大学学报(自然科学版)201033(4)454-456

[12]   莫志光林力农应用化学动力学[M]北京高等教育出版

社1989

收稿日期2016-02-02修改日期2016-05-15作者简介葛华才(1963-)男广东大埔人博士教授主

要研究方向为物理化学与应用化学

10509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905

105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051051033 1051033

10510331051033

投稿注意

撰写稿件使用本期刊官方网站ldquohttp labscinankaieducnrdquo提供的 Word模板

001                    

Page 2: Excel 求解动力学微分方程组参数的教学实践葛华才,等:使用Excel求解动力学微分方程组参数的教学实践 在单元G4~J4分别输入实验时间对应计算得

式(2)使用一阶差分代替微分故式(3)为一阶

差分法计算公式误差较大 常用四阶的 Runge -Kunta法计算式如下

ci t = t + h = ci t = t+(gi 1+2gi 2+2gi 3+gi 4) 6 (4)其中

gi 1 =h fi(atc1c2cn)gi 2 =h fi(at+h 2c1+gi 1 2c2+gi 1 2cn+gi 1 2)gi 3 =h fi(at+h 2c1+gi 2 2c2+gi 2 2cn+gi 2 2)gi 4 =h fi(at+hc1+gi 3c2+gi 3cn+gi 3)

(5)

实验时可测定不同时刻 t0t1t2对应各组分

( i= 12)的浓度 ci 0ci t 1ci t 2方程(1)中 fi(atc1c2cn)的表达式已知但需求参数组 a即求解带参数的一阶微分方程或方程组 一般可用

迭代法通过编程求解非线性参数 a但编程难度大而 Excel的ldquo规划求解rdquo具有这种迭代求解功能 具

体方法为先假设参数 a 为一定值(初值与实际值

越接近越理想)通过数值求解方程(1)计算得到

不同时刻各组分的浓度 c计算it j 从中找出与实验时间

对应的浓度计算相对偏差平方和 P即

P =sumt jsum

i1 -

c计算it j

c实验it j

aelig

egraveccedilccedil

ouml

oslashdividedivide

(6)

Excel的ldquo规划求解rdquo功能可通过迭代改变参数

a 值使 Prarr0(实际取 10-6即可可保证计算的所有

浓度数据有 3 位有效数字)这时的 a 值即为合理

解 若无法实现 Prarr0说明开始给定的参数 a 值不

合理尝试改变其值以得到合理解

2  使用 Excel实现数值解的步骤

为简单起见以下列两个平行的基元反应为例

Ak1rarr C

B+Bk2rarr D

cA和 cB分别记为 c1和 c2动力学方程可写成dc1 dt = -k1c1 = f1 (7)dc2 dt = -k2c2 2 = f2 (8)方程组的准确解分别为c1 = c10exp(-k1 t)c2 =

c20 (1+k2 t c20)其中 c10和 c20为组分 A和 B 的初

浓度 设速率常数 k1和 k2分别 0002 s-1和 0003 L

mol-1 s-1初浓度 c10和 c20均为 1 mol L-1 设实验

测定 A和 B的浓度数据如表 1所示使用 Excel求解参数 k1和 k2的具体步骤如下(1)将有关反应信息和实验数据输入电子表格

中如图 1所示即输入 A1F6 和 G1J3 的内容其中 E1J3为表 1的实验数据

表 1  组分 A和 B的浓度随时间的实验值

t s 0 120 240 360 500

c1 (molL-1) 1 07866 06188 04868 03679

c2 (molL-1) 1 07353 05814 04808 04000

(2)在单元 C8和 F8 分别输入 k1和 k2的初值如均为 01在单元 C9输入计算的时间间隔(h)如1 在 A12B12C12分别输入反应初始时间和两个

组分的对应的初浓度(3)不同时刻对应浓度的计算

单元 A13输入初始时间增加一个时间间隔后

的时间表达式ldquo =A12+ $ C $ 9rdquo(注意双引号不要

输入以后类同)若使用一阶差分公式 ( 3)浓度单元 B13 和

C13分别输入对应的公式ldquo = B12- $ C $ 8lowastB12lowast$ C $ 9rdquo和ldquo =C12- $ F $ 8lowastC12^2lowast $ C $ 9rdquo然后

选定区域 A13C13执行ldquo复制rdquo命令用键盘或鼠标

选定 A14C612区域后执行ldquo黏贴rdquo命令计算出时

间从 0-600 s 对应两个组分浓度的值(行 12 ~ 612对应列 B和 C)

若使用四阶 Runge-Kunta 法公式(4)浓度单

元 B13和 C13分别输入对应的公式ldquo = B12+(D13+2lowastE13+2lowastF13+G13) 6rdquo和ldquo = C12+(H13+2lowastI13+2lowastJ13+K13) 6rdquoD13~G13 对应的单元分别输入

微分方程(7)对应式(5)的 4 个 gi值即依次为ldquo =$ C $ 9lowast(- $ C $ 8)lowastB12rdquoldquo = $ C $ 9lowast( - $ C$ 8)lowast(B12+D13 2)rdquoldquo = $ C $ 9lowast(- $ C $ 8)lowast(B12+E13 2)rdquo和ldquo = $ C $ 9lowast(- $ C $ 8)lowast(B12+F13)rdquoH13 ~ K13 对应的单元分别输入微分方程

(8)对应式(5)的 4 个 gi值即依次为ldquo = $ C $ 9lowast(- $ F $ 8)lowastC12^2rdquoldquo = $ C $ 9lowast(- $ F $ 8)lowast(C12+H13 2)^2rdquoldquo = $ C $ 9lowast(- $ F $ 8)lowast(C12+I13 2)^2rdquo和ldquo = $ C $ 9lowast(- $ F $ 8)lowast(C12+J13)^2rdquo然后选定区域 A13K13执行ldquo复制rdquo命令用键

盘或鼠标选定 A14K612 区域后执行ldquo黏贴rdquo命令计算出时间从 0-600 s 对应两个组分浓度的值(行12~612对应列 B和 C)具体如图 1所示

图 1  Excel 求解一阶微分动力学方程示例

(4)计算浓度的相对偏差平分和 P

89                    

葛华才等使用 Excel求解动力学微分方程组参数的教学实践

在单元 G4~ J4 分别输入实验时间对应计算得

到的 A 浓度值的对应单元即依次输入为 ldquo =B132rdquoldquo =B252rdquoldquo =B372rdquo和ldquo =B512rdquo在单元 G5~ J5 分别输入实验时间对应计算得到的 B 浓度值

的对应单元即依次输入为ldquo = C132rdquoldquo = C252rdquoldquo =C372rdquo和ldquo =C512rdquo在单元 G6~ J6分别输入浓度

的偏差平方和即依次输入为ldquo = (1-G4 G2) ^2+(1-G5 G3)^2rdquoldquo = (1-H4 H2) ^2+(1-H5 H3) ^2rdquoldquo =(1-I4 I2)^2+(1-I5 I3) ^2rdquo和ldquo = (1-J4 J2) ^2+(1-J5 J3) ^2rdquo在单元 J7 输入 P 的计算值式ldquo =SUM(G6J6)rdquo

(5)执行规划求解

Excel 的ldquo规划求解rdquo功能是在完全安装 Office或完全安装 Excel 的基础上才可实现的功能它实

质是一个插件程序(宏) 以 Office2010 为例首次

使用时选择ldquo文件rarr选项rarr加载宏rarr转到rdquo菜单命

令在弹出ldquo加载宏rdquo标签中选ldquo规划求解rdquo确定后在ldquo数据rdquo菜单中将出现ldquo规划求解rdquo项选择该项即

可进入ldquo规划求解参数rdquo标签 设置目标单元格(即P 值单元)为 J7等于选ldquo最小值rdquo可变单元格(即待求参数 k1和 k2多参数时用逗号分隔)输入 C8F8 单击ldquo选项rdquo弹出ldquo规划求解选项rdquo标签其中

最长运算时间和迭代次数标准设定为 100 秒和 100次已满足基本计算要求一般无需修改精度允许

误差和收敛度建议均输入较小值 1e-8(即 10-8)考虑到速率常数为正所以选定ldquo假定为负rdquo其余不

用选单击ldquo确定rdquo返回ldquo规划求解参数rdquo标签 若对

参数取值有限制可单击ldquo添加rdquo约束条件(如 k1 >0等等)本例不用选 至此基本参数确定单击ldquo求解rdquo即可观察迭代过程很快得到解

一阶法k1 = 0001998  k2 = 0003 P = 4331E-08

四阶法k1 = 0002  k2 = 0003000 P = 2543E-10

准确值 k1 = 0002和 k2 = 0003从计算结果可知一阶和四阶法的结果均非常

接近实际值四阶法的误差更小些 计算的浓度的

相对偏差平方和小于 10-7即有效数字至少有 4 位

与实验值一致(6)绘制浓度随时间的变化曲线确定合理的

参数初值

将浓度和时间的实验值数据(F1J3)绘成实验

点(散点)将计算得到的浓度与时间关系的数据

(A12C612)绘成线在同一图(图 1 右部)中给出由于参数 k1和 k2的初值对ldquo规划求解rdquo的结果影响

很大一般应尽可能取接近实际的值但通常并不知

道实际值 这时初值可均取为 1观察 P 和计算的

浓度曲线与实验点的接近程度若发现 P 太大或曲

线与实验点没有任何关联可尝试按 10 倍增大或

1 10缩小参数观察曲线远离还是靠近实验点的情

况决定是增大还是缩小参数对于本例若 k1和 k2的初值均取为 1除初浓度

外其它浓度计算值均为 0浓度曲线严重偏离实验

值P = 8 ldquo规划求解rdquo的 k1 和 k2 值分别为 1 和

01049008 003P= 4显然结果不合理 若 k1和 k2的初值均

取为 01此时计算的浓度值基本不为 0浓度曲线

与实验值虽偏离较大但相对接近实验点此时进行

ldquo规划求解rdquo结果即为前述的合理解时间间隔(h)值的选取对实验结果亦会影响

根据数学迭代原理只要前后时间间隔的浓度差与

前步浓度的比值小于 1迭代即不会发散这可作为

h 值选取的基本条件如本例 h 取 1其比值小于

01049008 1故选取合理 当然迭代求解后其比值应该远

小于 01时的结果方为合理

3  实践应用

以丁二酸二乙酯(B)和氢氧化钠(A)的皂化反

应为例[12]皂化反应分两步第一步产物为一级皂

化物(C)和乙醇(E)一级皂化物继续皂化为丁二

酸二钠(D)和乙醇即

A + Bk1rarr C + E

A + Ck2rarr D + E

反应的微分动力学方程为dcA dt = -k1cAcB-k2cAcC = f1 (9)dcB dt = -k1cAcB = f2 (10)dcC dt = k1cAcB-k2cAcC = f3 (11)实验时 cA0 = 1992times10

-3 molmiddotdm-3cB0 = 996times10-3molmiddotdm-3反应在 25进行实验得到的碱浓

度与时间的关系如图 2的区域 F1L2所示

图 2   Excel求解实际反应的一阶微分动力学方程的参数

使用 Excel求解方程组(9) ~ (11)的参数 k1和

99

k2时涉及反应组分 AB 和 C其浓度分别记为 c1c2和 c3初浓度分别放置在单元 B13C13 和 D13中k1和 k2的初值h 值分别设在单元 C9E9 和 C10中区域 H3L3为对应实验时间计算所得 A的浓度

值(与前述类似输入公式引用如单元 H3 输入 =B74 )区域 H5L5分别计算各浓度的相对偏差的

平方(如单元 H5输入公式 =(1-H3 H2) ^2 其余

可复制此公式)单元 G6 输入公式 = SUM(H5L5)计算总的相对偏差平方和(P)

下面仅介绍 4阶法处理过程区域单元 A14~D14分别输入公式 =A13+ $ C

$ 10 B13+(E14+2lowastF14+2lowastG14+H14) 6 =C13+( I14+2lowastJ14 + 2lowastK14+L14) 6和 = D13+(M14+2lowastN14+2lowastO14+P14) 6

区域单元 E14 ~ H14 分别输入微分方程式(9)对应式(5)的 4个 G值即公式 = -B13lowast( $ C $ 9lowastC13 + $ E $ 9lowastD13) lowast $ C $ 10 = - ( B13 +E14 2)lowast( $ C $ 9lowast(C13+E14 2)+ $ E $ 9lowast(D13+E14 2))lowast $ C $ 10 = -(B13+F14 2)lowast( $ C$ 9lowast(C13 +F14 2) + $ E $ 9lowast(D13 +F14 2))lowast$ C $ 10和 = -(B13+G14)lowast( $ C $ 9lowast(C13+G14)+ $ E $ 9lowast(D13+G14))lowast $ C $ 10

区域单元 I14 ~ L14 分别输入微分方程式(10)对应式(5)的 4个 G值即公式 = - $ C $ 9lowastB13lowastC13lowast $ C $ 10 = - $ C $ 9lowast(B13 + I14 2) lowast(C13+ I14 2) lowast $ C $ 10 = - $ C $ 9lowast(B13 +J14 2)lowast(C13+J14 2)lowast $ C $ 10和 = - $ C $ 9lowast(B13+K14)lowast(C13+K14)lowast $ C $ 10

区域单元 M14~ P14 分别输入微分方程式(11)对应式(5)的 4个 G值即公式 =B13lowast( $ C $ 9lowastC13- $ E $ 9lowastD13)lowast $ C $ 10 = (B13+M14 2)lowast( $ C $ 9lowast(C13+M14 2) - $ E $ 9lowast(D13+M14 2))lowast $ C $ 10 = (B13 +N14 2) lowast( $ C $ 9lowast(C13 + N14 2) - $ E $ 9lowast(D13 + N14 2)) lowast $ C$ 10和 =(B13+O14)lowast( $ C $ 9lowast(C13+O14) -$ E $ 9lowast(D13+O14))lowast $ C $ 10

然后将区域 A14P14 复制到 A15P1650完成

不同时间对应浓度的计算将 A的浓度与实验时间对应的数据(G1L2)

绘成散点将计算的浓度(A13D1650)在同一图中

绘成浓度时间曲线ldquo规划求解rdquo时 h 取为 10k1和 k2的初值均取为

1或 01时所得的 k 值和浓度不符合实际结果k1和 k2的初值分别取为 01 和 005 时所得的解分别

为 004278和 0001533与文献值 00428和 000154非常接近计算 A的浓度曲线完全经过实验点B和

C 的浓度变化亦合理 改变 h 为 5和 25结果与 10非常类似所以 h 取 10已合理

5  结语

使用数值解和 Excel的ldquo规划求解rdquo求解一阶微

分动力学方程组的参数无需编程 通过合理选取

时间间隔和动力学参数初值即可得到合理的参数

解同时还可模拟实际的浓度变化 通过多年的教

学实践表明该方法简单明了学生容易掌握

参考文献(References)

[1]   王承学胡永琪化学反应工程[M]2 版北京化学工业出版

社2015[2]   吴元欣张珩反应工程简明教程[M]北京高等教育出版社

2013[3]   方利国计算机在化学化工中的应用[M]北京化学工业出版

社2011[4]   葛华才袁高清彭程物理化学[M]北京高等教育出版社

2008[5]   张少军物理化学反应动力学普适方程研究mdashz指数方程的构

建[EB OL][2010-01-12]http wwwcnkinet kcms detail 641006N201411100909001html

[6]   葛华才朱明丽使用 Excel 软件求取反应级数的快速方法

[J] 实验室科学201316(1)108-110[7]   马红武赵学明赵晓芸应用 Excel处理生化过程数据(Ⅱ)动

力学方程参数估值[ J] 计算机与应用化学199916(1)67-

70[8]   熊杰明张丽萍吕九琢反应动力学参数的计算方法与计算误

差[J] 计算机与应用化学200320(1)159-162[9]   郭翔丛培盛朱仲良等化学动力学过程模拟软件的开发

[J] 计算机与应用化学200623(6)565-568[10]   范荫恒张婷婷武美霞计算机模拟对峙化学反应动力学过

程[J] 实验科学与技术20075(5)78-79[11]   任庆云王松涛玉占君等模拟一级和二级反应同时发生的

化学反应动力学过程软件的开发[J] 辽宁师范大学学报(自然科学版)201033(4)454-456

[12]   莫志光林力农应用化学动力学[M]北京高等教育出版

社1989

收稿日期2016-02-02修改日期2016-05-15作者简介葛华才(1963-)男广东大埔人博士教授主

要研究方向为物理化学与应用化学

10509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905

105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051051033 1051033

10510331051033

投稿注意

撰写稿件使用本期刊官方网站ldquohttp labscinankaieducnrdquo提供的 Word模板

001                    

Page 3: Excel 求解动力学微分方程组参数的教学实践葛华才,等:使用Excel求解动力学微分方程组参数的教学实践 在单元G4~J4分别输入实验时间对应计算得

葛华才等使用 Excel求解动力学微分方程组参数的教学实践

在单元 G4~ J4 分别输入实验时间对应计算得

到的 A 浓度值的对应单元即依次输入为 ldquo =B132rdquoldquo =B252rdquoldquo =B372rdquo和ldquo =B512rdquo在单元 G5~ J5 分别输入实验时间对应计算得到的 B 浓度值

的对应单元即依次输入为ldquo = C132rdquoldquo = C252rdquoldquo =C372rdquo和ldquo =C512rdquo在单元 G6~ J6分别输入浓度

的偏差平方和即依次输入为ldquo = (1-G4 G2) ^2+(1-G5 G3)^2rdquoldquo = (1-H4 H2) ^2+(1-H5 H3) ^2rdquoldquo =(1-I4 I2)^2+(1-I5 I3) ^2rdquo和ldquo = (1-J4 J2) ^2+(1-J5 J3) ^2rdquo在单元 J7 输入 P 的计算值式ldquo =SUM(G6J6)rdquo

(5)执行规划求解

Excel 的ldquo规划求解rdquo功能是在完全安装 Office或完全安装 Excel 的基础上才可实现的功能它实

质是一个插件程序(宏) 以 Office2010 为例首次

使用时选择ldquo文件rarr选项rarr加载宏rarr转到rdquo菜单命

令在弹出ldquo加载宏rdquo标签中选ldquo规划求解rdquo确定后在ldquo数据rdquo菜单中将出现ldquo规划求解rdquo项选择该项即

可进入ldquo规划求解参数rdquo标签 设置目标单元格(即P 值单元)为 J7等于选ldquo最小值rdquo可变单元格(即待求参数 k1和 k2多参数时用逗号分隔)输入 C8F8 单击ldquo选项rdquo弹出ldquo规划求解选项rdquo标签其中

最长运算时间和迭代次数标准设定为 100 秒和 100次已满足基本计算要求一般无需修改精度允许

误差和收敛度建议均输入较小值 1e-8(即 10-8)考虑到速率常数为正所以选定ldquo假定为负rdquo其余不

用选单击ldquo确定rdquo返回ldquo规划求解参数rdquo标签 若对

参数取值有限制可单击ldquo添加rdquo约束条件(如 k1 >0等等)本例不用选 至此基本参数确定单击ldquo求解rdquo即可观察迭代过程很快得到解

一阶法k1 = 0001998  k2 = 0003 P = 4331E-08

四阶法k1 = 0002  k2 = 0003000 P = 2543E-10

准确值 k1 = 0002和 k2 = 0003从计算结果可知一阶和四阶法的结果均非常

接近实际值四阶法的误差更小些 计算的浓度的

相对偏差平方和小于 10-7即有效数字至少有 4 位

与实验值一致(6)绘制浓度随时间的变化曲线确定合理的

参数初值

将浓度和时间的实验值数据(F1J3)绘成实验

点(散点)将计算得到的浓度与时间关系的数据

(A12C612)绘成线在同一图(图 1 右部)中给出由于参数 k1和 k2的初值对ldquo规划求解rdquo的结果影响

很大一般应尽可能取接近实际的值但通常并不知

道实际值 这时初值可均取为 1观察 P 和计算的

浓度曲线与实验点的接近程度若发现 P 太大或曲

线与实验点没有任何关联可尝试按 10 倍增大或

1 10缩小参数观察曲线远离还是靠近实验点的情

况决定是增大还是缩小参数对于本例若 k1和 k2的初值均取为 1除初浓度

外其它浓度计算值均为 0浓度曲线严重偏离实验

值P = 8 ldquo规划求解rdquo的 k1 和 k2 值分别为 1 和

01049008 003P= 4显然结果不合理 若 k1和 k2的初值均

取为 01此时计算的浓度值基本不为 0浓度曲线

与实验值虽偏离较大但相对接近实验点此时进行

ldquo规划求解rdquo结果即为前述的合理解时间间隔(h)值的选取对实验结果亦会影响

根据数学迭代原理只要前后时间间隔的浓度差与

前步浓度的比值小于 1迭代即不会发散这可作为

h 值选取的基本条件如本例 h 取 1其比值小于

01049008 1故选取合理 当然迭代求解后其比值应该远

小于 01时的结果方为合理

3  实践应用

以丁二酸二乙酯(B)和氢氧化钠(A)的皂化反

应为例[12]皂化反应分两步第一步产物为一级皂

化物(C)和乙醇(E)一级皂化物继续皂化为丁二

酸二钠(D)和乙醇即

A + Bk1rarr C + E

A + Ck2rarr D + E

反应的微分动力学方程为dcA dt = -k1cAcB-k2cAcC = f1 (9)dcB dt = -k1cAcB = f2 (10)dcC dt = k1cAcB-k2cAcC = f3 (11)实验时 cA0 = 1992times10

-3 molmiddotdm-3cB0 = 996times10-3molmiddotdm-3反应在 25进行实验得到的碱浓

度与时间的关系如图 2的区域 F1L2所示

图 2   Excel求解实际反应的一阶微分动力学方程的参数

使用 Excel求解方程组(9) ~ (11)的参数 k1和

99

k2时涉及反应组分 AB 和 C其浓度分别记为 c1c2和 c3初浓度分别放置在单元 B13C13 和 D13中k1和 k2的初值h 值分别设在单元 C9E9 和 C10中区域 H3L3为对应实验时间计算所得 A的浓度

值(与前述类似输入公式引用如单元 H3 输入 =B74 )区域 H5L5分别计算各浓度的相对偏差的

平方(如单元 H5输入公式 =(1-H3 H2) ^2 其余

可复制此公式)单元 G6 输入公式 = SUM(H5L5)计算总的相对偏差平方和(P)

下面仅介绍 4阶法处理过程区域单元 A14~D14分别输入公式 =A13+ $ C

$ 10 B13+(E14+2lowastF14+2lowastG14+H14) 6 =C13+( I14+2lowastJ14 + 2lowastK14+L14) 6和 = D13+(M14+2lowastN14+2lowastO14+P14) 6

区域单元 E14 ~ H14 分别输入微分方程式(9)对应式(5)的 4个 G值即公式 = -B13lowast( $ C $ 9lowastC13 + $ E $ 9lowastD13) lowast $ C $ 10 = - ( B13 +E14 2)lowast( $ C $ 9lowast(C13+E14 2)+ $ E $ 9lowast(D13+E14 2))lowast $ C $ 10 = -(B13+F14 2)lowast( $ C$ 9lowast(C13 +F14 2) + $ E $ 9lowast(D13 +F14 2))lowast$ C $ 10和 = -(B13+G14)lowast( $ C $ 9lowast(C13+G14)+ $ E $ 9lowast(D13+G14))lowast $ C $ 10

区域单元 I14 ~ L14 分别输入微分方程式(10)对应式(5)的 4个 G值即公式 = - $ C $ 9lowastB13lowastC13lowast $ C $ 10 = - $ C $ 9lowast(B13 + I14 2) lowast(C13+ I14 2) lowast $ C $ 10 = - $ C $ 9lowast(B13 +J14 2)lowast(C13+J14 2)lowast $ C $ 10和 = - $ C $ 9lowast(B13+K14)lowast(C13+K14)lowast $ C $ 10

区域单元 M14~ P14 分别输入微分方程式(11)对应式(5)的 4个 G值即公式 =B13lowast( $ C $ 9lowastC13- $ E $ 9lowastD13)lowast $ C $ 10 = (B13+M14 2)lowast( $ C $ 9lowast(C13+M14 2) - $ E $ 9lowast(D13+M14 2))lowast $ C $ 10 = (B13 +N14 2) lowast( $ C $ 9lowast(C13 + N14 2) - $ E $ 9lowast(D13 + N14 2)) lowast $ C$ 10和 =(B13+O14)lowast( $ C $ 9lowast(C13+O14) -$ E $ 9lowast(D13+O14))lowast $ C $ 10

然后将区域 A14P14 复制到 A15P1650完成

不同时间对应浓度的计算将 A的浓度与实验时间对应的数据(G1L2)

绘成散点将计算的浓度(A13D1650)在同一图中

绘成浓度时间曲线ldquo规划求解rdquo时 h 取为 10k1和 k2的初值均取为

1或 01时所得的 k 值和浓度不符合实际结果k1和 k2的初值分别取为 01 和 005 时所得的解分别

为 004278和 0001533与文献值 00428和 000154非常接近计算 A的浓度曲线完全经过实验点B和

C 的浓度变化亦合理 改变 h 为 5和 25结果与 10非常类似所以 h 取 10已合理

5  结语

使用数值解和 Excel的ldquo规划求解rdquo求解一阶微

分动力学方程组的参数无需编程 通过合理选取

时间间隔和动力学参数初值即可得到合理的参数

解同时还可模拟实际的浓度变化 通过多年的教

学实践表明该方法简单明了学生容易掌握

参考文献(References)

[1]   王承学胡永琪化学反应工程[M]2 版北京化学工业出版

社2015[2]   吴元欣张珩反应工程简明教程[M]北京高等教育出版社

2013[3]   方利国计算机在化学化工中的应用[M]北京化学工业出版

社2011[4]   葛华才袁高清彭程物理化学[M]北京高等教育出版社

2008[5]   张少军物理化学反应动力学普适方程研究mdashz指数方程的构

建[EB OL][2010-01-12]http wwwcnkinet kcms detail 641006N201411100909001html

[6]   葛华才朱明丽使用 Excel 软件求取反应级数的快速方法

[J] 实验室科学201316(1)108-110[7]   马红武赵学明赵晓芸应用 Excel处理生化过程数据(Ⅱ)动

力学方程参数估值[ J] 计算机与应用化学199916(1)67-

70[8]   熊杰明张丽萍吕九琢反应动力学参数的计算方法与计算误

差[J] 计算机与应用化学200320(1)159-162[9]   郭翔丛培盛朱仲良等化学动力学过程模拟软件的开发

[J] 计算机与应用化学200623(6)565-568[10]   范荫恒张婷婷武美霞计算机模拟对峙化学反应动力学过

程[J] 实验科学与技术20075(5)78-79[11]   任庆云王松涛玉占君等模拟一级和二级反应同时发生的

化学反应动力学过程软件的开发[J] 辽宁师范大学学报(自然科学版)201033(4)454-456

[12]   莫志光林力农应用化学动力学[M]北京高等教育出版

社1989

收稿日期2016-02-02修改日期2016-05-15作者简介葛华才(1963-)男广东大埔人博士教授主

要研究方向为物理化学与应用化学

10509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905

105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051051033 1051033

10510331051033

投稿注意

撰写稿件使用本期刊官方网站ldquohttp labscinankaieducnrdquo提供的 Word模板

001                    

Page 4: Excel 求解动力学微分方程组参数的教学实践葛华才,等:使用Excel求解动力学微分方程组参数的教学实践 在单元G4~J4分别输入实验时间对应计算得

k2时涉及反应组分 AB 和 C其浓度分别记为 c1c2和 c3初浓度分别放置在单元 B13C13 和 D13中k1和 k2的初值h 值分别设在单元 C9E9 和 C10中区域 H3L3为对应实验时间计算所得 A的浓度

值(与前述类似输入公式引用如单元 H3 输入 =B74 )区域 H5L5分别计算各浓度的相对偏差的

平方(如单元 H5输入公式 =(1-H3 H2) ^2 其余

可复制此公式)单元 G6 输入公式 = SUM(H5L5)计算总的相对偏差平方和(P)

下面仅介绍 4阶法处理过程区域单元 A14~D14分别输入公式 =A13+ $ C

$ 10 B13+(E14+2lowastF14+2lowastG14+H14) 6 =C13+( I14+2lowastJ14 + 2lowastK14+L14) 6和 = D13+(M14+2lowastN14+2lowastO14+P14) 6

区域单元 E14 ~ H14 分别输入微分方程式(9)对应式(5)的 4个 G值即公式 = -B13lowast( $ C $ 9lowastC13 + $ E $ 9lowastD13) lowast $ C $ 10 = - ( B13 +E14 2)lowast( $ C $ 9lowast(C13+E14 2)+ $ E $ 9lowast(D13+E14 2))lowast $ C $ 10 = -(B13+F14 2)lowast( $ C$ 9lowast(C13 +F14 2) + $ E $ 9lowast(D13 +F14 2))lowast$ C $ 10和 = -(B13+G14)lowast( $ C $ 9lowast(C13+G14)+ $ E $ 9lowast(D13+G14))lowast $ C $ 10

区域单元 I14 ~ L14 分别输入微分方程式(10)对应式(5)的 4个 G值即公式 = - $ C $ 9lowastB13lowastC13lowast $ C $ 10 = - $ C $ 9lowast(B13 + I14 2) lowast(C13+ I14 2) lowast $ C $ 10 = - $ C $ 9lowast(B13 +J14 2)lowast(C13+J14 2)lowast $ C $ 10和 = - $ C $ 9lowast(B13+K14)lowast(C13+K14)lowast $ C $ 10

区域单元 M14~ P14 分别输入微分方程式(11)对应式(5)的 4个 G值即公式 =B13lowast( $ C $ 9lowastC13- $ E $ 9lowastD13)lowast $ C $ 10 = (B13+M14 2)lowast( $ C $ 9lowast(C13+M14 2) - $ E $ 9lowast(D13+M14 2))lowast $ C $ 10 = (B13 +N14 2) lowast( $ C $ 9lowast(C13 + N14 2) - $ E $ 9lowast(D13 + N14 2)) lowast $ C$ 10和 =(B13+O14)lowast( $ C $ 9lowast(C13+O14) -$ E $ 9lowast(D13+O14))lowast $ C $ 10

然后将区域 A14P14 复制到 A15P1650完成

不同时间对应浓度的计算将 A的浓度与实验时间对应的数据(G1L2)

绘成散点将计算的浓度(A13D1650)在同一图中

绘成浓度时间曲线ldquo规划求解rdquo时 h 取为 10k1和 k2的初值均取为

1或 01时所得的 k 值和浓度不符合实际结果k1和 k2的初值分别取为 01 和 005 时所得的解分别

为 004278和 0001533与文献值 00428和 000154非常接近计算 A的浓度曲线完全经过实验点B和

C 的浓度变化亦合理 改变 h 为 5和 25结果与 10非常类似所以 h 取 10已合理

5  结语

使用数值解和 Excel的ldquo规划求解rdquo求解一阶微

分动力学方程组的参数无需编程 通过合理选取

时间间隔和动力学参数初值即可得到合理的参数

解同时还可模拟实际的浓度变化 通过多年的教

学实践表明该方法简单明了学生容易掌握

参考文献(References)

[1]   王承学胡永琪化学反应工程[M]2 版北京化学工业出版

社2015[2]   吴元欣张珩反应工程简明教程[M]北京高等教育出版社

2013[3]   方利国计算机在化学化工中的应用[M]北京化学工业出版

社2011[4]   葛华才袁高清彭程物理化学[M]北京高等教育出版社

2008[5]   张少军物理化学反应动力学普适方程研究mdashz指数方程的构

建[EB OL][2010-01-12]http wwwcnkinet kcms detail 641006N201411100909001html

[6]   葛华才朱明丽使用 Excel 软件求取反应级数的快速方法

[J] 实验室科学201316(1)108-110[7]   马红武赵学明赵晓芸应用 Excel处理生化过程数据(Ⅱ)动

力学方程参数估值[ J] 计算机与应用化学199916(1)67-

70[8]   熊杰明张丽萍吕九琢反应动力学参数的计算方法与计算误

差[J] 计算机与应用化学200320(1)159-162[9]   郭翔丛培盛朱仲良等化学动力学过程模拟软件的开发

[J] 计算机与应用化学200623(6)565-568[10]   范荫恒张婷婷武美霞计算机模拟对峙化学反应动力学过

程[J] 实验科学与技术20075(5)78-79[11]   任庆云王松涛玉占君等模拟一级和二级反应同时发生的

化学反应动力学过程软件的开发[J] 辽宁师范大学学报(自然科学版)201033(4)454-456

[12]   莫志光林力农应用化学动力学[M]北京高等教育出版

社1989

收稿日期2016-02-02修改日期2016-05-15作者简介葛华才(1963-)男广东大埔人博士教授主

要研究方向为物理化学与应用化学

10509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905

105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051050905105090510509051051033 1051033

10510331051033

投稿注意

撰写稿件使用本期刊官方网站ldquohttp labscinankaieducnrdquo提供的 Word模板

001