中国石油大学《工程数学》大作业.docx

中国石油大学《工程数学》大作业.docx

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
中国石油大学《工程数学》大作业

《工程数学》大作业 运用MATLAB处理化学反应平衡问题 学院:化工学院 专业: 学号: 姓名: 运用MATLAB处理化学反应平衡问题 问题背景: 伴随着计算机技术的快速发展,化工实验的手段发生了巨大的变化,人们逐渐把计算机技术引入到化工领域,这样做有许多优点:节省开发费用,加快问题解决步伐,缩短开发时间,方便控制与管理,在这些优点的影响下,计算机技术开始与化工领域相辅相成,一起进步。 众所周知,化工过程领域的计算十分复杂,包含了非线性方程,偏微分方程,非线性规划等麻烦的计算形式,如果用人手工的方式进行计算,就会导致又费时又得不到准确结果,这是令人非常头疼的,但是计算机技术很好地解决了这个问题,通过计算机编程我们可以比较轻松地计算出结果。但是问题又出现了,编程对于非计算机专业的人来说十分困难,就在这时,MATLAB出现了,MATLAB的程序设计语言强大易学,它的计算能力很强,它的绘图功能方便实用,这对于化学工程计算的简便化是十分有益的。 接下来介绍MATLAB的一些在化工方面的优势。化工过程计算中可能会遇到一些用解析法难以求解但图解法十分容易的情况,MATLAB提供的一系列简单易行的绘图及图形控制函数就能解决这种问题。MATLAB拥有丰富的库函数,节省了技术人员的复杂的子程序编写任务,使工作效率显著提升。该软件具有强大的数值和符号计算功能、方便的图像读取和显示功能、高效的图像变换功能。 化学平衡是指在宏观条件一定的可逆反应中,化学反应正逆反应速率相等,反应物和生成物各组分浓度不再改变的状态。问题中所给的化学反应有三个方向,分别生成三种不同的产物,每个反应的平衡常数不同,也就是每个反应的反应程度不同,按照题目所给的条件能列出一个由三个方程形成的非线性方程组,解这个方程组我们就能知道题中所给反应条件生成的反应产物能否满足后续化工处理的要求,这对于后续的化工加工处理是十分重要的,只有满足要求,后续加工处理才能正常进行,所以恰当的反应条件是必须的。但是我们如果使用人工手算,将费时费力,这会儿MATLAB就能给我们的计算提供很大的便利。 问题: 异丙醇在398 ℃、0.1029 MPa(1 atm)条件下在载银催化剂上进行脱氢反应生成丙酮,主副反应及其在反应温度下的平衡常数如下: i-C3H7OH(IP) n-C3H7OH(NP) (K1=0.058) i-C3H7OH(IP) (CH3)2CO(AC) + H2 (K2=0.067) i-C3H7OH(IP) C2H5CHO(PR) + H2 (K3=0.00009) 后续的分离过程要求反应产物中丙醛的产量不大于0.048mol%。 问在所述反应条件下,产物组成能否满足此要求。 专业原理:由上面的三个反应式我们可以清晰地知道:它们都是独立反应。如果我们以1mol异丙醇为基准,同时我们可以假设达到反应平衡时三个反应的反应量为ce1、ce2和ce3,由化学计量关系我们可以算出平衡时各组分的物质的量为:正丙醇NNP=ce1,丙酮NAC=ce2,丙醛NPR=ce3,异丙醇NIP=1- ce1-ce2-ce3,氢气NH2= ce2+ce3,总物质的量Nt=1+ce2+ce3。 由以上这些物质的量可以列出化学平衡方程如下: (1) (2) (3) 程序说明: 将式(1)-式(3)变为三个模型方程分别如下: (4) (5) (6) 方程(4)-(6)是与ce1,ce2和ce3有关的非线性方程组,对于这种问题,MATLAB里可以用函数fsolve()求解。使用matlab解出ce1 、ce2 和ce3 以后,根据摩尔分??的定义我们可以知道化学平衡时丙醛的摩尔分数为ce3/(1+ce2+ce3)。在这个问题中还存在着初始值约束条件:ce1+ce2+ce31,我在求解中取ce=[0.25 0.27 0.0004]。 程序: function ChemEquil clear all; clc c0=[0.25 0.27 0.0004]; c=fsolve(@NonlinEqs,c0) fprintf(\t 化学平衡时丙醛的摩尔分数为:%.3f%s,c(3)/(1+c(2)+c(3))*100,%) %------------------------------------------------- function f =NonlinEqs(c) tmp1=1-c(1)-c(2

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档