工程应用数学数学计算方法与软件的工程应用汤吉海化工实验楼129#8358-7166t.jim@163.com2本学期主要教学内容部分应用实例矩阵分析(Chap2)、线性方程组(Chap3)、数值逼近(Chap5)、非线性方程组实验设计与数据处理实验设计与分析(Chap7、8)模型参数回归(Chap8)神经网络(Chap8)其他模拟退火、遗传算法(Chap8)微分方程组(Chap9、10)参数估计工具软件:MATLABStatistica3数学模型数学模型是系统某种特征本质的数学表达式即用数学式子(如函数式、代数方程、微分方程、积分方程、差分方程等)来描述(表达、模拟)所研究的客观对象或系统在某一方面的存在规律。用模型描述实体的过程称为建模或模型化。理想的数学模型必须满足以下两点:可靠性:在允许的误差值围内,它能反映出该系统的有关特性的内在联系。适用性:它须易于数学处理和计算。4建立数学模型的一般方法建立模型的方法大致有两种:实验归纳法理论分析法建立模型的一般步骤:通过对系统的分析,根据问题的性质和精度的要求,作出合理性假设、简化。抽象出系统的物理模型。在此基础上确定输入、输出变量和模型参数,建立数学模型。一般来说,在不降低精度的条件下,模型变量的数目越少越好。检验和修正所得模型。手段是将模型计算结果与实验结果做对比.模型含有无关或关系不大的变量;模型遗漏了重要的有关变量;模型参数不准确;数学模型的结构形式有错;模型反映系统的精确度不够。5数值计算在化学化工中的应用6模拟-实验-理论的关系由模拟所得到的结果,再经科学实验得到的实验值相互比较,最后经过理论的验证,便可以得到一个真正完美的结论。所以在近代科学研究中,必须以实验验证理论,以模拟辅助实验,三者并行,如此便能达到相辅相成的效果。7提高数学建模效率的方法建立模型编写算法分析结果建立模型调用算法分析结果低效率高效率瓶颈重点重点8专有的商业软件实质:数学模型和计算方法的有机集成过程模拟:ASPENPLUS、PRO/II、HYSYS、gPROMS等分子模拟:Gaussian、Cerius2、MaterialsStudio、InsightII、DISCOVERYSTUDIO、SYBYL、HyperChem、CHEMOFFICE等计算流体动力学:CFX、FLUENT、StarCD等优势:技术成熟、系统稳定、资料丰富、技术交流方便。缺陷:价格高,解决对象为已有的成熟的工程问题,缺少新的研究课题的数学模型。对于科学研究领域,通过建模、编程解决新的模型问题成为必要。9数值计算的工具程序设计语言BASIC/VisualBASIC(VB)PASCAl/DelphiC/C++(VisualC++、C++Builder)FORTRAN/CompacVisualFortran6.6(CVF)数学软件包Mathematica(数学演算)MathCADMaple(符号计算)MATABSAS、SPSS、STATISTICA(统计分析)执行效率高、有丰富的数值计算源程序或库文件,如NumericalRecipes、IMSL库以及网络资源NetLib。编程能力要求高。算法齐全,计算、图形可视化和符号运算功能强大,且简单易学、扩展性好,也支持与其他高级语言混合编程。既是专业数学软件,又是一种编程语言,编程效率高,且代码公开。内建丰富的函数和工具箱。得到第三方公司的开发支持10MATALB在化学化工中的应用数值计算AlkisConstantinides,navidMostoufi.NumericalMethodsforChemicalEngineeringwithMATLABApplications.PrenticeHall,1999MichaelB.Cutlip&MordechaiShacham.ProblemSolvinginChemicalEngineeringwithNumericalMethods,PrenticeHall,1999BruceA.Finlayson.IntroductiontoChemicalEngineeringComputing,JohnWiley&Sons,Inc.,2006KennethJ.Beers.NumericalMethodsforChemicalEngineering:ApplicationsinMATLAB,CambridgeUniversityPress,2007传递过程与单元操作JamesO.Wilkes.FluidMechanicsforChemicalEngineers.PrenticeHall,1999WilliamJ.Thomson.IntroductiontoTransportPhenomena.PrenticeHall,2000JaimeBenitez.PrinciplesandModernApplicationsofMassTransferOperations.JohnWiley&Sons,Inc.,2002化学反应工程FoglerHS.ElementsofChemicalReactionEngineering.3e,PrenticeHall,1999AmoLöwe.ChemischeReaktionstechnikmitMATLABundSimulink(German).Wiley-VCHVerlagGmbH,2001化工热力学HunKim,Moon-GapKim,Hak-YoungLee,Young-GuYeo&Sung-WooHam.ThermodynamicsinChemicalEngineeringUsingMATLAB(Korea).A-JinPublishingCo.,Ltd.,2002吸附平衡和吸附动力学DuongD.Do.AdsorptionAnalysis:EquilibriaandKinetics.ImperialCollegePress,1998国外专家学者的化工专著中越来越多的以MATLAb为计算平台,代替FORTRAN。11MATALB在化学化工中的应用化工过程动态模拟和控制W.FredRamirez.ComputationalMethodsforProcessSimulation.Butterworth-Heinemann,1997ColemanBrosilow,BahuJoseph.TechniquesofModel-BasedControl.PrenticeHall,2002FrancisJ.DoyleIII,EdwardP.Gatzke.ProcessControlModules:ASoftwareLaboratoryforControlsDesign.PrenticeHall,2000DaleE.Seborg,ThomasF.Edgar&DuncanA.Mellichamp.ProcessDynamicsandControl,2ed.JohnWiley&Sons,Inc.,2004PaoC.Chau.ProcessControl:AFirstCoursewithMATLAB.CambridgeUniversityPress,2002Young-GuYeo,Shin-ChunKang.Tal.MATLABProcessControlEngineering(Korea),A-JinPublishingCo.,Ltd.,2005BrianRoffel,BenBetlem.ProcessDynamicsandControl:ModelingforControlandPrediction,JohnWiley&Sons,Inc.,2006化学计量学RichardG.Brereton.Chemometrics:DataAnalysisfortheLaboratoryandChemicalPlant.JohnWiley&Sons,Inc.,2003Foo-timChau,Yi-zengLiang,JunbinGao&Xue-guangShao.Chemometrics:FromBasicstoWaveletTransform.JohnWiley&Sons,Inc.,2004数据分析与处理MarcelMaeder,Yorck-MichaelNeuhold.PracticalDataAnalysisinChemistry.ElsevierScience,2007黄华江.实用化工计算机模拟——MATLAB在化学工程中的应用.化学工业出版社,200412应用案例解析Ex1:矩阵的奇异值分解来分析确定独立化学反应的数目教材P68,例2.4.4矩阵的奇异值分解、秩Ex2:线性方程组的应用:乙醇精馏过程的物料平衡教材P95,例3.5.3线性方程组求解Ex3:数值逼近的应用:汽液平衡计算教材P167,例5.5.7样条插值、数值积分Ex4:非线性方程组的应用:反应器计算13Ex1:矩阵奇异值分解的应用矩阵分解:将一个矩阵分解为几个具有特殊性质的矩阵乘积,用于解线性方程组、最小二乘问题等。LU三角分解——求解线性方程组的有效方法;满秩分解——研究广义逆矩阵问题;正交QR分解——计算矩阵特征值最有效算法之一;奇异值分解——n阶方阵对角化推广到一般矩阵的情形,是应用最广泛的矩阵分解方法。14矩阵奇异值分解15例2.4.4确定独立化学反应的数目(P68)一般在计算化学反应平衡前,对给定反应体系,需确定独立反应数目。独立反应是那些不能由其它反应的线性组合来表示的反应。蒸汽与煤炭床层发生的反应有:C+H2O→CO+H2(R1)C+2H2O→CO2+2H2(R2)C+CO2→2CO(R3)CO+H2O→CO2+H2(R4)H2O→H2+1/2O2(R5)CO2→2CO+1/2O2(R6)C+2H2→CH4(R7)CH4+2H2O→CO2+4H2(R8)2CH4→C2H6+H2(R9)16理论分析可以看出其中有些反应不是独立的,可由其它一些反应的线性组合来表示,如:一般来说,对由N个混合物组成的R个反应体系,有:17反应矩阵123456789C-1-1-1000-100CO102-101000CO201-110-1010O200001/21/2000H2O-1-20-1-100-20H2120110-241CH40000001-1-2C2H600000000118求解通过求此反应矩阵的秩,即可求得独立反应的数目。运用MATLAB中的矩阵奇异值分解命令SVD,有:C=[-1-1-1000-100;102-101000;01-110-1010;0000.5.5000;-1-20-1-100-20;120110-241;0000001-1-2;000000001];B=svd(C)’B=6.39463.26802.77861.55790.88390.00000.00000.0000结果表明矩阵的秩为5,故此体系的独立反应数目为5。若需要求构成1组独立反应的反应式,如何做???19反应矩阵转置CCOCO2O2H2OH2CH4C2H61-1100-11002-1010-22003-12-10000040-110-110050001/2-1100601-11/200007-10000-21080010-24-109000001-2120求解对所有可能的独立反应组进行全范围搜索,然后判断其秩是否等于反应矩阵的秩,即可求得独立反应的构成。C=[-1-1-1000-100;102-101000;01-110-1010;0000.5.5000;-1-20-1-100-20;120110-241;0000001-1-2;000000001];A=C';a=rank(A);disp(sprintf('