matlab在化工研究中的应用.docx

上传人:b****3 文档编号:2987260 上传时间:2022-11-16 格式:DOCX 页数:7 大小:31.63KB
下载 相关 举报
matlab在化工研究中的应用.docx_第1页
第1页 / 共7页
matlab在化工研究中的应用.docx_第2页
第2页 / 共7页
matlab在化工研究中的应用.docx_第3页
第3页 / 共7页
matlab在化工研究中的应用.docx_第4页
第4页 / 共7页
matlab在化工研究中的应用.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

matlab在化工研究中的应用.docx

《matlab在化工研究中的应用.docx》由会员分享,可在线阅读,更多相关《matlab在化工研究中的应用.docx(7页珍藏版)》请在冰豆网上搜索。

matlab在化工研究中的应用.docx

matlab在化工研究中的应用

安做瑾工犬竽

ANHUIL^IVERSHYOfSCIENCE&TECHNOLOGY

MATLAB程序设计大作业

题目

matlab在化工研究中的应用

学院:

化学工程学院

专业:

化学工艺

学号:

学生姓名:

任少阳

开设课程:

matlab程序设计与应用

 

Matlab在化工研究中的应用

1概述在化工设计与分析、过程研究与开发、系统工程、模拟预测、优化和控制领域,通常要化工过程模拟化,用于尚未建立的或已建立的过程,既可用于过程的研究、开发和设计,也可用于评估及其运转情况、控制和改进。

化工模拟关必须要建立数学模型,就是以质量平衡、热量平衡和动量平衡为基础并结合反应动力学而建立的模型方程式。

MATLAB是美国MathWorks公司于80年代中期推出的一套高性能的数值计算和可视化软件。

经过MathWorks公司的不断完善,MATLAB已经成为自动控制理论、数理统计、数字信号处理、时间序列分析、动态系统仿真等领域的最常用的和最受欢迎的软件。

MATLAB具有强大的扩展功能,使其在很多领域都能充分发挥其强大的作用。

因此人们将MATLAB称之为继FORTRAN和C等高级语言之后的第四代计算机语言,利用其丰富的函数资源,使编程人员从繁琐的程序代码中解放出来。

MATLAB是一种解释性语言,采用了工程技术的计算语言,几乎与数学表达方式相同,语言中的基本元素为矩阵,它提供了各种矩阵的运算和操作,并且具有符号计算、数字和文字统一处理、离线和在线计算功能;具有较强的绘图功能,计算结果和编程可视化;具有很强的开放性,针对不同的应用学科,都带有相应的可开发工具箱。

自20世纪70年代晚期,cleveMoler基于UNPACK和EISPACK软件包的部分函数,用Fortran开发设计MATLAB初始版本以来,经过近30年的不断完善,由原来含有80个函数的矩阵计算工具?

,发展到包含89个不同应用工具箱和功能模块,国内对MATLAB的应用研究,最早为张文乐等,而在化学化工领域的应用研究起步较晚,任佩林等首先用MAlAB编程计算换热管固有频率的传递矩阵。

随着化学工业以及计算机技术的发展,通过建立过程机理模型并通过计算机数值模拟,以便对化工过程进行设计和分析、模型预测、优化和控制等。

现阶段,可以用于数值计算的编程语言有VisualBasic6.0、CompacVisualFortan6.5、VisualC++和C++builder、MATLAB。

尽管Fortran和C/C++程序执行效率很高,可以充分利用现有的代码资源,如NumericalRecipes和IMSL库,又可提高运行速度,并且可以生成具有标准用户界面的应用软件,但是在数值方面使用MATLAB语言编程更具有优势,因为Fortran和C/C++语言的内部函数、NumericalRecipes和IMSL库的算法函数都比较有限,且对编程能力要求较高,编程效率较低,而MATLAB得算法齐全,计算功能、图形可视化功能和符号运算都十分强大,也支持其他面向对象的高级语言的混合编程;所以,MATLAB作为一种方便、快捷的科学和工程计算语言,具有Fortran和C/C++等程序无法比拟的优越性。

国内对MATLAB的应用研究,最早为张文乐等,而在化学化工领域的应用研究起步较晚,任佩林等首先用MATLAB编程计算换热管固有频率的传递矩阵。

本文首先讨论MATLAB发展简史及其特点,而后综述近十年来,国内化学化工领域的应用情况,从它与其它语言的混合编程、与其它软件的集成、工具箱的开发与应用等方面等,并就以后如何应用提出建议。

2MATLAB在化工研究中的应用

2.1与Delphi的混合编程

由于MATLAB是一种解释性的语言,运行效率低,并且在其环境下开发,应用程序大都不能脱离其运行环境。

利用其它强大语言的功能,则可以弥补其处理问题时的缺陷,充分发挥各自的优势。

杨敏等以MATLAB为自动化服务器,以Delphi语言编写的程序为自动化控制器,并通过Delphi的0LEvariant类型引用MATLAB的神经网络工具箱类型库,达到MATLAB和Delphi混合编程的目的,实现了炼钢过程氧化期终态的准确预报,并提供详细源代码及说明。

2.2与VisualBasic的混合编程

付孝锦等引充分利用VisualBasic的界面设计功能和MATLAB的强大计算功能,通过在VB中调用MAILAB的Activex的方法,开发了化学反应方程式配平软件。

张云鹏等针对VB数值计算和图形处理能力不足,结合MATLAB的MatrixVB数学函数库,设计出大学化学实验数据处理系统。

在数值计算和图形处理方面效果良好。

2.3与c/C++的混合编程

赵立杰等为了检测和诊断聚氯乙烯的生产过程,在原有软、硬件基础S上,采用C,VB和MATLAB语言混合编程,基于最小窗口MPCA非线性多模型建模和监视方法,设计出用于挖掘数据中的潜在信息,解决批次过程在线监视和诊断问题的软件。

实际应用于某化工过程,能早期预报和诊断异常情况,为监视和评价过程性能提供可靠的依据,提高过程操作的安全性。

3.1MATLAB在化工计算上的应用

化学工程中的计算问题一般比较复杂,其操作的数据对象通常是数组,具体计算涉及插值、求积分、参数拟合、解常微分和偏微分方程、解线性和非线性方程等。

解这些问题的一般做法是:

首先编写或查找相应的FORTRAN、C和BASIC

等传统的计算语言具有一定的编程能力,调试过程中花费很多时间和精力。

3.1.1非线性最小二乘拟合

用非线性最小二乘法从实验的二元物系气液平衡实验数据拟合Wilson方程

参数。

温度:

t=60C,物系:

甲醇⑴、水⑵。

实验数据见下表1。

表1甲醇一一水等温实验数据

液相组成X1mol

气相组成y1mol

总压mmHg

0.0343

0.2106

183.64

0.0446

0.2690

196.92

0.0594

0.3312

211.65

0.0793

0.3920

228.70

0.1093

0.4714

254.75

0.1634

0.5698

291.74

0.1961

0.5989

309.60

0.2705

0.6699

353.18

0.3670

0.7462

395.79

0.4619

0.7889

431.10

05665

0.8223

466.95

0.7582

0.9010

538.25

查得Antonie常数见表2。

表2甲醇水Antonie常数

常数

甲醇

C1

7.87863

8.10765

C2

1473.11

1750.268

C3

230.0

235.0

解:

由吉布斯自由能和活度系数知识推得,在对恒温下二元物系实验数据的拟合

中,可用式

(1)-式⑷中的式⑷作为目标函数。

(Ge/(RT))实验=xI*lnY1实验+x2*lny实验⑴

(Ge/(RT))计算=xi*lny计算+x2*Iny计算

(2)

(Ge/(RT))实验-Ge/(RT))计算=xi*[Inyi实验+ln(xi+A12*X2)]+x2*[Iny实验+ln(x2+A21*xi)]

m

F1={X1*[Iny实验+In(x1+A12*x2)]+x2*[Iny实验+In(x2+A21*x1)]}2⑷

j1

在求解Iny1实验和Iny实验时可将实验数据x1,y1,p的数组当作变量看待,即

将x仁[0.03430.04460.05940.07930.10930.16340.19610.27050.3670

0.46190.56650.7582]整体当作变量看待。

由平衡常数公式Ki=YPis/P得,丫i=KiP/Pis,所以,可以计算得到

Y1实验=[1.79141.89331.97491.79611.74561.61631.50221.38961.2785

116981.07691.0162]

Y实验=[1.00431.00681.00691.01041.01151.00371.03351.06921.0617

1.13151.28071.4744]

在进行拟合A12和A21时,只要将目标函数式⑷编写成函数文件,再调用LEASTSQ

这个最小拟合函数,即得到结果A12=0.6734,A2i=1.0845。

3.1.2解非线性方程(组)

例:

简单蒸馏时,某时刻釜残液量与低沸点组分x之间有如下的关系式:

InFo/F=1/(a1)[ln(xo/x)+an(1-x)/(1-x0)],对于苯一甲苯物系,相对挥发度a=2.5,开始时物系中含苯60%,含甲苯40%。

若蒸馏至原加料量的一半时,试求残液中苯的含量。

解:

按题意将数值代入方程,得:

2.5In(1-x)-In(x)+0.7402=0

运用MATLAB的函数运算功能将方程写为

f='2.5*Iog(1-x)-Iog(x)+'0.7402

并调用SOLVE函数求得此方程的精确解为x=0.

3.2MATLAB在化工实验数据处理中的应用

化学工程与工艺专业实验是初步了解、学习和掌握化学工程与工艺科学实验研究方法的一个重要的实践性环节。

专业实验不同于基础实验,其目的不仅仅是为了验证一个原理、观察一种现象或是寻求一个普遍适用的规律,而应当是为了有针对性地解决一个具有明确工业背景的化学工程与工艺问题。

化工实验的特点流程较长,规模较大,数据处理也较为复杂。

因此依靠计算机处理数据会使繁琐的数据处理过程变得简单快捷,大大提高工作效率。

数据处理是每一个化学工程实验必不可少的步骤,也是至关重要的一个步骤。

通过实验可以建立过程模型、分析工艺技术的可行条件。

但是化工实验数据的处理往往并不是那么简单,它需要通过复杂的数学计算,若仅仅依靠手工计算则需要花费大量的时间,而且化工

实验数据的处理量很大、重现性很高,因此应用计算机来处理实验数据可以大大提高工作效率。

化学工程与工艺专业是一个以实验为基础的专业学科。

实验的目

的是通过有限的实验点去寻找某一对象或某一过程中各参数之间的定量关系,从

而揭示某化工过程所遵循的客观规律。

由于人力、物力、时间等条件的限制,任何实验所能完成的实验点都是有限的,如何根据这些有限的实验点归纳出各参数之间的关系,便是实验数据的处理问题。

由于化工过程的复杂性,实验过程中各参数之间的关系往往是非线性的,数据处理或数据拟合的工作量往往比较大,且计算过程也比较繁琐。

若能利用计算机进行数据处理,不仅处理结果的准确度很高,而且还会省下很多不必浪费的人力和时间,大大提高了工作效率。

321处理实验数据的程序

由于化工实验有很多,而且每一个实验数据的处理的步骤、公式都不一样,所以很难用一个程序来描述。

但是,每一个实验都有类似之处,因此每一个程序都可以用下图描述:

321.1数据的输入

数据的输入是利用提示输入函数input来实现的,具

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1