Matlab在《化工热力学濂学中的应用
邱挺,黄智贤,王红星,李晓
(福州大学化学化工学院福建福州350108)
摘要:在化工热力学理论教学过程中流体热力学性质、相平衡等计算较困难,经常需要迭代试差计算, 手算费时费力.本文探讨了工程讣算软件Matlab JfJ于化工热力学的计算结果表明:Matlab易学易川,可有 效解决化工热力学计算问题,提高学生的工程计算能力.
关 键 词:化工热力学;Matlab;状态方程;相平衡;迭代
中图分类号:G642文献标志码:A
收稿日期
收稿日期:2012-05H2
基金项目:教育部高等学校特色专业建设点项目(TS11506);福州大学第六批高等教育教学改革项目 作者简介:邱挺(1974T,男福建福州人福州大学教授膊士,主耍从事传质与分离方面的研究.
化学工程与工艺专业是我校首批启动“卓越 工程师教育培养计划”的专业“卓越工程师”具 备能融会贯通地利用所学知识,针对不断变化的 新情况通过理论上的探讨并结合必要的科学验 证,提出创新性解决工程问题的能力,同时要具有很 强的自学能力从而不断提高自身的工程素养?为了 优化“卓越计划"K才培养方案,精心设计课程体 系以回归工程应用为指导思想,将"专业课 教学" 与“工程实践’有机融合,本文以化工热力 学课程 教学为例,从培养学生工程计算能力出发,通过布 置一些用手工计算根本无法完成、但对理解化工 热力学原理和计算方法很重要的作业,让学牛把 化工数值计算课程中学到的Matlab软件 应用到 工程实际屮,从而使学生具备解决工程复杂问题 计算的能力为将来成为“卓越工程师’扌丁下坚实 的基础.
化工热力学是化学工程与技术的一个重要分 支,是分离过程的基石,是化学工程与工艺专业的必 修主干课程,是在具备必要的高等数学、物理化学 和计算机技术等基础知识之后必修的专业技术基 础课?该课程将热力学原理应用于化学工程技术 领域,是化工过程研究.开发、设计.化工生产、操 作的理论基础,涉及热力学物性参数和质量、能量 传递的平衡问题,在培养学生工程观点提高学生工 程能力方面起着重要的作用?化工热力学主要涉 及到流体热力学性质和流体相平衡等计算具有 公式多、知识面广.计算量大、手算难等特 点,频繁涉及到非线性方程和方程组的求解 需要迭代试差计算传统手工计算值要求高, FL计算量很大,用普通编程语言如C.VB等编 程⑥,需要编写数值计算方法 而美国MathWorks公 司开发的数学软件Matlab可很好地解决手工计 算和普通语言编程的缺点,很方便地用于非线性 方程(组)计算、数据回归等广泛应用于工程il- 算
Matlab包含了大量的计算算法,拥有数百个 数学运算函数,用户通过调用口J方便地进行各种 计算刀函数中所使用的算法都是工程计算中的 最经常使用的,且经过各种优化处理,大大提高了 计算的准确度.一般情况下,用Matlab可替代底 层编程语言,如C和C + + .在同等计算要求的情 况下,使用Matlab计算可极大减少工作量笔者 在数年化工热力学教学过程中,探索了 Matlab软 件求解化工热力学各类计算问题,主要涉及流体 热力学及汽液相平衡等方面的计算.
1 Matlab常用求解函数
Matlab中单变量非线性方程求解使用fzero 函数,非线性方程组求解使用fsolve函数,求无约 束多元函数最小值使用fminsearch函数门
fsolve命令是求非线性方程组的解也可用于 求非线性方程的根,最简洁的调用方式是:x = fsolve( @ fug。).输入参数:fun为用户定义的目标函数名即非线性方程组f(x) = 0屮的f(x) 的表达式,该函数是一个列向量,x0是迭代初值 的向量.输出结果:X为待求解方程组的根向量.
fzero命令用于求单变量方程的根,所采用的 算法主要是二分法、割线法和逆二次插值法等的 混合方法,其最简单的调用方式为x = fzero (@ fun^O).输入参数:fun为用户定义的目标函 数的函数名,定义单变量非线性方程f( x)二0中 的f( x) x0为迭代初値?输出参数:x为方程的根.
fminsearch命令用于求解无约束多元函数最 小值所采用的算法是单纯形法,其调用方式 fval] = fminsearch( @ funxO)输入参数:fun 为用 户定义的冃标函数的函数名刃为迭代初值输出 参数:x为函数最优点fval为最优点的函数值.
使用Matlab软件求解非线性方程、非线性方 程组或无约束多元函数最小值时,不用编写数值 求解所需的复杂算法程序,只需要定义待求的函 数,而且Matlab对初值的要求较低,因此求解过 程快速方便,可快速解决工程复杂计算问题.
2常见计算实例
21纯流体热力学计算
例1,应用RK方程,计算异丙