MATLAB在化学中的应用

合集下载

Matlab在两性物质pH计算中的应用

Matlab在两性物质pH计算中的应用

Matlab在两性物质pH计算中的应用薛泽春;程晓东;李连之;张宪玺;李大成【摘要】The pH calculation of amphiprotic species is a very important content in the inorganic chemistry course. In this paper, the calculation of pH and the distribution fraction as a function of pH using Matlab software are illustrated by three representative examples, NaHCO3 , NH4 CN, and NaH2 PO4 . This practice can help students fur-ther understand the fundamentals of the amphiprotic species, and enable students to understand and learn the applica-tion of Matlab software in chemistry.%两性物质的 pH 计算是无机化学中非常重要的内容。

通过3个有代表性的例子( NaHCO3、NH4 CN、NaH2 PO4),运用Matlab获得它们的pH、各物种的分布分数。

可以帮助学生理解两性物质酸碱性原因,并让学生了解、学习Matlab在化学中的应用。

【期刊名称】《大学化学》【年(卷),期】2015(000)003【总页数】5页(P80-84)【关键词】两性物质;分布分数;pH;Matlab【作者】薛泽春;程晓东;李连之;张宪玺;李大成【作者单位】山东省化学储能与新型电池技术重点实验室聊城大学化学化工学院山东聊城252059;山东省化学储能与新型电池技术重点实验室聊城大学化学化工学院山东聊城252059;山东省化学储能与新型电池技术重点实验室聊城大学化学化工学院山东聊城252059;山东省化学储能与新型电池技术重点实验室聊城大学化学化工学院山东聊城252059;山东省化学储能与新型电池技术重点实验室聊城大学化学化工学院山东聊城252059【正文语种】中文【中图分类】O6;G64Abstract The pH calculation of amphiprotic species is a very important content in the inorganic chemistry course.In this paper, the calculation of pH and the distribution fraction as a function of pH using Matlab software are illustrated by three representative examples, NaHCO3, NH4CN, and NaH2PO4. This practice can help students further understand the fundamentals of the amphiprotic species, and enable students to understand and learn the application of Matlab software in chemistry. Key Words Amphiprotic species; Distribution fraction; pH; Matlab在无机化学课程中,两性物质的酸碱性计算是教学的重点。

MATLAB在不同烤烟品种化学成分差异性分析中的应用

MATLAB在不同烤烟品种化学成分差异性分析中的应用

MATLAB在不同烤烟品种化学成分差异性分析中的应用摘要:运用MATLAB5.0分析了云南地区3个烤烟品种的主要化学成分。

结果表明,在0.05显著性水平下,云系列与K326品种间有显著差异的化学指标为果胶、木质素、水溶性灰分碱度、石油醚提取物;云系列和红大品种间有显著差异的化学指标为挥发酸、细胞壁物质含量、氨基氮、多酚;红大和K326品种间有显著差异的化学指标为氨基氮、多酚。

关键词:烤烟;化学成分;MATLAB5.0;拟合分布;统计分析烟叶的化学成分是烟叶质量形成的物质基础,是决定烟叶品质的内在要素,也是卷烟配方应该考虑的重要指标。

烟草种植的生态环境、栽培措施、采收调制、发酵加工以及陈化都会对作为卷烟原料的烟叶化学成分产生影响。

研究烤烟的化学成分,对卷烟原料的品质具有非常重要的意义[1]。

而在以往的研究中,大多数的试验数据处理用的是DPS、SAS、SPSS等统计软件中的菜单式统计分析方法,没有针对每个成分的数据做拟合分布,没有看各组成分适合哪种统计方法,直接进行方差分析等分析方法。

而MATLAB是开放式的软件,可以根据数据的不同特点,自行编写程序,可以先进行拟合分布,然后根据分布特点选择适合的统计方法。

MATLAB(MatrixLaboratory)是由美国MathWorks公司推出的一款集数值分析、矩阵计算、信号处理和图形显示于一体的工具软件。

自1984年推向市场以来,现已成为国际认可(EEE)的最优化的科技应用软件之一[2],广泛应用于矩阵代数、数值计算、数字信号处理、振动理论、神经网络控制、动态仿真等领域。

由于目前的多数试验中,测定的物质主要是烤烟的总糖、还原糖、总氮、烟碱、氯、淀粉、钾、pH值、蛋白质,所以分析测定中避开这些常测定的物质,而测定烤烟的挥发酸、挥发碱、细胞壁物质含量、果胶、全纤维素、木质素、总灰分、水溶性灰分碱度、乙醇提取物、氨基氮、二氯甲烷提取物、石油醚提取物、多酚,并将MATLAB引入烟草领域,初步将其应用在不同烤烟品种部分化学成分和烟气成分差异性分析中,为后续进一步挖掘MATLAB在烟草领域中更强大的功用打下一定的基础。

matlab化学计算例子

matlab化学计算例子

matlab化学计算例子一、化学计算在MATLAB中的应用MATLAB是一种功能强大的数值计算软件,广泛应用于各个领域,包括化学。

化学计算是指利用数学方法和计算机技术来解决化学问题,如计算化学反应的速率常数、热力学性质、电子结构等等。

下面将介绍一些在MATLAB中常见的化学计算例子。

1. 化学反应速率常数的计算:在化学反应动力学中,化学反应速率常数是描述化学反应速率的重要参数。

利用MATLAB可以通过拟合实验数据来计算化学反应速率常数,从而得到反应动力学模型。

2. 热力学性质的计算:热力学性质是描述物质热学行为的参数,如热容、焓、熵等。

利用MATLAB可以计算物质的热力学性质,比如通过拟合实验数据来计算热容和焓值。

3. 分子轨迹模拟:分子轨迹模拟是研究分子运动的重要方法。

利用MATLAB可以进行分子轨迹模拟,通过求解分子的运动方程来模拟分子的运动轨迹。

4. 电子结构计算:电子结构是描述分子和固体中电子分布的重要参数。

利用MATLAB可以进行电子结构计算,如利用密度泛函理论计算分子的电子结构。

5. 化学反应动力学模拟:化学反应动力学是研究化学反应速率和机理的重要方法。

利用MATLAB可以进行化学反应动力学模拟,通过求解反应动力学方程来模拟化学反应的速率。

6. 化学平衡计算:化学平衡是研究化学反应在一定条件下达到平衡的重要方法。

利用MATLAB可以进行化学平衡计算,如利用平衡常数和反应方程来计算平衡浓度和平衡常数。

7. 化学反应机理优化:化学反应机理是描述化学反应过程的详细步骤和反应物之间的相互作用的模型。

利用MATLAB可以进行化学反应机理优化,通过对反应机理参数的拟合和优化来得到最佳的反应机理模型。

8. 化学反应路径分析:化学反应路径是描述化学反应过程中各个中间体和过渡态的生成和消失关系的模型。

利用MATLAB可以进行化学反应路径分析,通过求解反应路径方程来分析化学反应过程中不同反应路径的贡献。

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

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

MATLAB在化学工程实验数据处理中的应用随着我国高科技人才的不断出现,各行业的高新技术也逐渐兴起。

对于我国以往的化学工程,化学人员需要进行大量的复杂的数据处理,以及相当有难度的化学实验,这样的做法既浪费时间又浪费资源。

因此,在化学工程中进行不断的创新与改革,是我国化学工程技术人员需要研究的重要课题。

而MATLAB的出现,是化学工程中的重大创新软件。

化学工程人员将MATLAB软件运用到化学工程实验中,可以大大提高数据处理效率,并且节省了很多的人力物力等资源。

此软件被广泛的运用到化学工程的各种试验中。

本文就针对MATLAN在化学工程与工艺实验数据处理中的应用进行深入的分析与探讨。

0 前言化学工程与工艺学科是我国重要的学科之一,在化学工程中,化学实验起着重要的作用。

化学实验的好坏严重影响着化学工程的建设。

而数据处理过程又是化学实验中的重要组成部分。

对程序中的数据进行有效的处理有助于化学实验的研究与开发。

然而以往的数据处理方法基本上都是人工处理,这种处理方法既浪费时间又浪费资源。

因此,开发新的化学数据处理方法成为我国化学工程研究的重点,而MATLAB软件就是新型化学数据处理方法之一,也对化学工业的发展起到巨大的作用,它能有效地将繁琐的计算步骤化解成简单的计算,提高工作效率,让实验数据的准确性达到最高值,避免误差的产生。

MATLAB软件最早由美国的Mathworks公司提出,其主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。

它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言的编辑模式,代表了当今国际科学计算软件的先进水平。

近年来MATLAB软件逐渐被用于化学工程与工艺实验的数据处理中,极大地提高了数据处理的效率。

Matlab与化工数值计算ppt

Matlab与化工数值计算ppt
Prof. Cleve Moler
Jack Little
Matlab简介
• MATLAB具有用法简单、 灵活、结构性强、延展性 好等优点,逐渐成为科技 计算、视图交互系统和程 序中的首选语言工具。
– 功能强大的数值运算功 能
– 强大的图形处理能力 – 高级但简单的程序环境 – 丰富的工具箱与模块集 – 易于扩充
Matlab的计算器功能
>> 2000^1.8*(10^(-10.2158+1.7925e3/283+1.773e-2*2831.2631e- 5*283^2))^0.2/(20000*0.5^4.8*(0.3471*0.274^(-(1283/647.13)^0.28574))/0.2323)
回车可以得到结果
format命令
MATLAB命令
format short format short e format long format long e format rat format hex format bank
含义
短格式 短格式科学格式 长格式 长格式科学格式 有理格式 十六进制格式 银行格式
范例
3.1416 3.1416e+000 3.14159265358979 3.141592653589793e+000 355/113 400921fb54442d18 3.14
xy 1x1
8 double array
化学工程常用软件
数学软件:
• Matlab • Mathematica • Mathcad • Maple • Staticstica
化工模拟软件:
¾PRO/II (SimSci) ¾AspenPlus ¾ChemCAD ¾Flowtran ¾Superpro Designer ¾Fluent ¾CHEMKIN

matlab在化学中的应用

matlab在化学中的应用

matlab在化学中的应用
Matlab在化学中有着广泛的应用,包括但不限于以下几方面:
1. 数据处理与分析:Matlab可以用于处理和分析化学实验中的各种数据,如光谱数据、质谱数据、色谱数据等。

通过编写脚本,可以快速地进行数据预处理、信号处理、统计分析等操作,以提高数据处理和分析的效率和精度。

2. 模拟与建模:Matlab可以用于建立化学系统的数学模型,并进行模拟和预测。

通过编写脚本,可以建立反应动力学模型、传质模型、热力学模型等,从而预测化学反应的速率、产物产率、热力学性质等。

3. 图像处理与可视化:Matlab可以用于图像处理和可视化,在化学实验中,可以用Matlab来处理和分析光学显微镜图像、扫描电镜图像、X射线衍射图像等。

通过编写脚本,可以对图像进行处理、分割、分析、可视化等,以提高数据分析和结果展示的质量。

4. 优化与控制:Matlab可以用于化学过程的优化和控制,在化学反应过程中,可以利用Matlab来优化反应条件、控制反应进程,从而提高反应产率和效率。

总之,Matlab在化学中的应用是非常广泛的,并且随着Matlab技术的不断发展和创新,其应用领域也不断扩大和深化。

MATLAB在化工过程模拟与优化中的应用指南

MATLAB在化工过程模拟与优化中的应用指南

MATLAB在化工过程模拟与优化中的应用指南随着化工工业的发展,化工过程模拟与优化成为了一个重要的课题。

而MATLAB作为一种高级数学软件,可以为化工工程师提供强大的工具和功能,用于建立数学模型、进行模拟和优化,为化工过程的设计和优化提供支持。

本文将介绍MATLAB在化工过程模拟与优化中的应用指南,包括如何运用MATLAB进行系统建模,模拟过程以及优化控制。

一、MATLAB在化工过程模拟中的应用1.1 数学模型的建立在化工过程中,建立一个准确的数学模型是模拟和优化的基础。

MATLAB提供了丰富的数学工具箱,可以帮助化工工程师通过建立代数方程、微分方程和偏微分方程等来描述化工过程的动态变化。

这些数学工具包括符号计算、方程求解、微分方程求解等。

例如,可以使用MATLAB的符号计算工具箱来建立化学反应过程的动力学模型,并求解模型方程,得到重要的反应动力学参数。

1.2 过程模拟与仿真利用已建立的数学模型,MATLAB可以进行过程模拟与仿真。

通过编程设计仿真用的数学模型,可以模拟整个化工过程的动态变化。

同时,MATLAB还提供了各种绘图和可视化工具,可以直观地展示过程模拟的结果。

例如,在反应器中进行化学反应的模拟时,可以通过MATLAB的动态绘图工具观察反应物浓度随时间的变化,并分析其动态特性。

二、MATLAB在化工过程优化中的应用2.1 数值优化化工过程的优化是通过最小化或最大化某种目标函数来实现的。

MATLAB中的优化工具箱提供了各种数值优化方法,如线性规划、非线性规划、整数规划等。

这些优化方法可以用于化工过程的优化设计,如最小化能耗、最大化产率等。

通过使用MATLAB的优化工具箱,化工工程师可以快速、准确地找到最优解,提高生产效率,节约资源。

2.2 数据拟合与参数估计在化工过程中,有时需要利用实验数据对模型参数进行拟合和估计。

MATLAB 提供了强大的拟合工具,如最小二乘拟合、非线性拟合等。

通过拟合实验数据,可以对模型的参数进行估计和调整,从而提高模型的准确性。

MATLAB在化学计量学中的应用

MATLAB在化学计量学中的应用

化学计量学方法概述
化学计量学方法分为传统化学计量学方法和现代化学计量学方法两类。传统 化学计量学方法主要涉及化学分析和统计学,通过建立数学模型对化学数据进行 处理和解析;现代化学计量学方法则结合了计算机科学、人工智能、机器学习等 领域,利用高级算法和模型对复杂的化学数据进行深入挖掘和分析。
三维荧光光谱分析概述
三维荧光光谱分析是基于荧光光谱技术发展而来的一种分析方法。在荧光光 谱分析中,通过测量物质在特定波长激发下所产生的荧光强度和波长,可以获得 物质的特征荧光光谱。而三维荧光光谱分析则是在此基础上,通过改变激发波长 和发射波长,同时记录荧光强度,从而获得一种三维数据矩阵。这种数据矩阵可 以更全面地反映物质的荧光特性,为化学计量学方法的应用提供了更多的信息。
化学计量学方法在三维荧光光谱 分析中的应用
1、传统化学计量学方法在三维 荧光光谱分析中的应用
传统化学计量学方法在三维荧光光谱分析中主要应用于数据的预处理、多元 校正和模式识别等方面。例如,在数据的预处理中,可以通过平滑、基线校正、 去噪等方法对原始数据进行处理,以提高数据的准确性和可靠性;在多元校正中, 可以通过建立数学模型,对多组荧光光谱数据进行同时解析,从而得到各个组分 的含量;在模式识别中,
四、实例
下面以化学模式识别为例,介绍如何使用MATLAB解决化学计量学问题:
1、实验流程
首先,收集化学数据。可以采集某化工生产过程的多个运行工况数据,每个 工况包含多个样本,每个样本包含多个特征。然后,对数据进行预处理,包括数 据清洗、标准化等。接着,利用MATLAB中的聚类分析算法(如k-means算法)对 预处理后的数据进行聚类。最后,根据聚类结果进行模式识别,找出不同工况下 的模式特征。
2、结果分析

计算机在化学中的应用——利用MATLAB求解化学计算题

计算机在化学中的应用——利用MATLAB求解化学计算题

晋中学院本科毕业论文(设计)题目计算机在化学中的应用-利用MATLAB求解化学计算题院系化学化工学院专业化学姓名学号0909111113学习年限2009年9月至2013年7月指导教师申请学位学士学位2013年5 月15日计算机在化学中的应用——利用MATLAB求解化学计算题摘要:MATLAB是由美国Math works公司发布的主要面对科学计算、可视化以及交互式程序设计计算环境。

它能有效地解决数值线性代数、数值逼近、最优化等科学和工程问题。

编制程序方便,求解化学计算题高效快速。

本文分别以结构、分析、化工三方面的典型例题,来说明MATLAB在化学中的应用。

关键词:MATLAB;化学计算题;计算应用;结构;分析;化工Applications of MATLAB in Chemistry—Use MATLAB SolvingChemical Calculation ProblemsAuthor’s Name:Lijiajia Tutor: DongtaoABSTRACT:MATLAB, released by the America Mathwoks Company, is the computing environment mainly in the face of scientific computing, visualization and interactive programming. It can efficiently solve problems in science and engineering such as numerical linear algebra, digital approximation, and optimization. It also has characters of convenient programming and efficiently and quickly solving chemical calculation problems. This paper will explain MATLAB in the application of chemistry by referencing typical examples about structural chemistry, analytical chemistry and chemical industry.KEYWORDS:MATLAB;Chemical calculation problems;Computing applications;Structural chemistry;Analytical chemistry ;Chemical industry目录1 MATLAB简介 (1)1.1MATLAB的简要发展 (1)1.2 MATLAB的功能介绍 (1)2 MATLAB在化学中的应用 (2)2.1 MATLAB在结构化学计算中的应用—休克尔分子轨道的计算 (2)2.2 MATLAB在分析化学中的应用—计算溶液的pH (3)2.2.1 一元强酸(碱)中H+的计算 (3)2.2.2 一元弱酸(碱)溶液pH的计算 (4)2.3 MATLAB在化工计算中的应用—解非线性方程(组) (6)2.3.1 解非线性方程 (6)2.3.2 解非线性方程组 (7)3结语 (8)注释 (9)参考文献 (10)致谢 (11)1 MALAB简介1.1MATLAB的发展历史MATLAB是Math works公司推出的适用于科学和工程计算的数学软件系统,MATLAB即Matrix(矩阵)和Laboratory(实验室)的简称,雏形是Cleve Moler教授为学生编写的用于Linspack和Eispack的接口程序。

MATLAB在危险化学品灌区安全评价中应用

MATLAB在危险化学品灌区安全评价中应用

MATLAB在危险化学品灌区安全评价中应用摘要:随着化学工业的迅速发展,化工厂储存易燃、易爆等危险化学品数量越来越多,其危险性也越大。

本文分析了某化工厂储罐区危险物质的危险性,通过MATLAB编程,对该灌区发生蒸气云爆炸事故后果进行模拟,得出其伤害区域,并将计算结果以图形的形式表示出来,安全人员能直观地判断和分析事故后果,有利于制定相应的预防和应急措施。

同时,利用MATLAB程序使整个评价过程更加简洁高效。

关键词:危险化学品;安全评价;MATLAB;蒸气云爆炸the application of MATLAB on safety evaluation of the irrigation area of dangerous chemicalsLiang Jinyan Pang Qizhi Wang Lixia Hua Shui(Faculty of Engineering,China University of Geosciences,Wuhan430074,China)Abstract:With the rapid development of the chemical industry,the quantity of hazardous chemicals,which are inflammable and explosive,is more and more,and the risk is more big.This paper analyzes the hazardous characteristics of dangerous substances in a chemical plant tank area,simulates accident consequences and achieves the damage area byMATLAB programming when vapor cloud explosion happens. The calculated results are showed in the form of graphic,thus security personals can intuitively judge and analyze accident consequence in order to formulate corresponding prevention and emergency measures.At the same time,MATLAB makes the whole evaluation process more concise and high efficiency.Key words:Dangerous chemicals;Safety evaluation;MATLAB;Vapor cloud explosion1、引言随着化学工业的迅速发展,化工生产工艺过程中处理和储存易燃、易爆等危险物质的数量也越来越多,潜在危险性越来越大。

运用MATLAB解决复杂化学方程式配平问题

运用MATLAB解决复杂化学方程式配平问题

运用MATLAB解决复杂化学方程式配平问题【摘要】到生产实际中化学反应复杂、涉及方程个数较多时,即矩阵阶数较高时,可利用 MATLAB 这一数学软件来轻松解决。

本文根据化学反应方程式配平的基本原则,通过建立由原子种类、电荷数、配平系数组成的齐次线性方程组,以及建立数学模型,运用矩阵代数运算来配平复杂的化学反应方程式。

【关键词】MATLAB 矩阵运算配平化学反应方程式MATLAB是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。

它的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。

遇到生产实际中化学反应复杂、涉及方程个数较多时,即矩阵阶数较高时,可利用 MATLAB 这一数学软件来轻松解决。

本文根据化学反应方程式配平的基本原则,通过建立由原子种类、电荷数、配平系数组成的齐次线性方程组,以及建立数学模型,运用矩阵代数运算来配平复杂的化学反应方程式。

一、问题的提出在生产实际中遇到化学反应复杂、涉及方程个数较多时,配平反应方程式就变成非常棘手的问题。

在利用MATLAB解决这些问题时,如何使用MATLAB语言才能使问题迅速解决呢?二、问题的解决1、化学原理在常规的化学反应中,我们判断一个化学反应是否配平的主要依据有以下几点:第一,反应前后各原子个数相同;第二,反应前后离子的电荷数必须相同;第三,得失电子数相等。

本矩阵运算主要根据以上原则建立数学模型。

配平化学方程式的线性代数法原理设化学反应方程式中的反应物和产物的总数为m,反应物和产物分子中所含元素的总数为n.如果我们用Aijij表示反应方程式中第i个化合物的第j种元素的原子的个数(Aijj可以称之为原子系数),则第i个化合物的组成可用一个向量Ai表示:Ai=(Ai1,Ai2,……,Aim)(1)相应的,矩阵A则表示反应方程式中所有化合物的组成:A=(Aij)我们把矩阵A称之为原子系数矩阵,配平化学方程式就是要求反应式中各物质的化学计量系数。

MATLAB在化学中的应用

MATLAB在化学中的应用

MATLAB在化学中的应用(应用化学)MATLAB作为新一代科学和工程计算语言,其简洁、易操作性是其它类似软件所不能比拟的,MATLAB在化学中有着十分重要的应用。

1 化学实验设计的最优化方法化学实验设计的目的是用最少的实验次数获得最多的化学信息,在数学上可归结为极值的问题。

单纯形优化是化学计量学中实验设计与优化的最常用方法:用单纯形法进行试验优化时,我们首先确定一个初始单纯形,再通过一系列步骤对它进行优化。

比如说,对基本单纯形优化,我们先去掉最差点,用其对称点作新试验点;若最差点反射后仍为最差点,则选次差点,等等。

然后再对单纯形进行加速,又有一系列规则,过程十分复杂,需大量的计算和推导。

用MATLAB则几句程序就可以解决问题。

2 回归分析回归分析是数理统计中最常用的方法之一,一般用最小二乘法确定回归方程中的系数。

其矩阵计算过程颇为复杂。

而用MATLAB实现则使问题大大简化。

MATLAB中有两个函数可以用于回归分析: polyfit(x, y, n)和leastsq (\function /, x)。

polyfit只能用于线性回归, leastsq可用来做非线性回归。

3 主成分分析(PCA)主成分分析的基本思想是以一种最优化方法去浓缩综合给定的量测数据矩阵Y中的信息,使数据矩阵简化,降低维数,寻找少数几个由原始变量线性组合成的新变量(主成分),以期揭示内部结构特征。

该法可用做化学模式识别。

主成分分析法将原始数据样本集的输入因子数n转化为主成分数l(1<n),样本集的各输入因子值转化为各主成分上的得分,形成新的样本集。

其主要步骤为:(1)原始数据样本集(xij)m*n的标准化(其中m为样本数,n为输入因子数)。

(2)建立相关矩阵R(rij),求算矩阵的特征值和特征向量。

(3)选取主成分。

计算各个主成分对总方差的贡献率。

按贡献率由大到小的顺序对n个主成分进行排序。

其个数取决于主成分的累计方差贡献率,通常使累积方差贡献率大于85%所需的主成分数就能够代表n个原始变量所能提供的绝大部分信息。

利用matlab对连续搅拌反应釜机理建模-概述说明以及解释

利用matlab对连续搅拌反应釜机理建模-概述说明以及解释

利用matlab对连续搅拌反应釜机理建模-概述说明以及解释1.引言1.1 概述连续搅拌反应釜是化工领域常见的反应设备,其在化学工程中具有重要的应用。

通过对连续搅拌反应釜的研究与分析,可以深入了解复杂的化学反应机理和反应过程,从而实现对反应条件的优化和控制。

本文将利用Matlab对连续搅拌反应釜的机理进行建模,并探讨该模型的验证与应用。

通过建立数学模型,可以帮助工程师和研究人员更好地理解反应过程中的物质转化规律,进而实现对反应釜的优化设计和运行控制。

通过本文的研究,将有助于提高连续搅拌反应釜的反应效率和产品质量,推动化工领域的发展,为相关行业提供更加可靠和有效的解决方案。

1.2 文章结构:本文共分为三个主要部分,分别是引言、正文和结论。

在引言部分,将会概述本文的研究背景和意义,介绍文章的结构和目的。

正文部分将着重介绍连续搅拌反应釜的基本原理,以及利用Matlab 进行机理建模的方法和过程。

同时,将会详细讨论模型验证与应用的重要性和效果。

结论部分将总结研究的成果和收获,同时也会讨论研究的局限性和不足之处。

最后,展望未来研究的方向和可能的发展趋势。

1.3 目的:本文旨在利用Matlab软件对连续搅拌反应釜进行机理建模,以探索反应过程中的动态行为和特性。

通过建立数学模型,我们可以更好地理解反应的动态过程,预测反应物的转化情况以及产物的生成速率,探究影响反应效率和产物选择性的因素。

通过对模型的验证和应用,我们可以优化搅拌反应釜的操作条件,提高反应效率和产物质量,为工业生产提供重要的理论支持和技术指导。

通过本研究,还可为未来深入探讨反应机理和优化工艺提供基础。

2.正文2.1 连续搅拌反应釜的基本原理连续搅拌反应釜是一种常见的化工反应设备,其主要工作原理是通过搅拌将反应物料充分混合,从而提高反应速率和产物收率。

在连续搅拌反应釜中,反应物料被持续地输入,同时产物被持续地输出,使得反应过程能够连续进行。

这种反应器通常具有良好的温度控制和搅拌效果,适用于各种液相或气液相反应。

matlab应用领域和行业

matlab应用领域和行业

matlab应用领域和行业Matlab是一款功能强大的数学软件,广泛应用于各个领域和行业。

本文将介绍Matlab在不同应用领域和行业中的具体应用。

1. 科学研究领域:Matlab在科学研究中有着广泛的应用,例如物理学、化学、生物学等。

在物理学中,Matlab可以用于求解微分方程、模拟物理实验、数据分析等。

在化学中,Matlab可以用于分子模拟、化学反应动力学研究等。

在生物学中,Matlab可以用于基因分析、蛋白质结构预测、生物图像处理等。

2. 工程设计领域:Matlab在工程设计中也被广泛应用。

例如,在电气工程中,Matlab可以用于电路设计、信号处理、嵌入式系统开发等。

在机械工程中,Matlab可以用于机械结构设计、动力学仿真、优化设计等。

在土木工程中,Matlab可以用于结构分析、地震工程、水资源管理等。

3. 金融领域:Matlab在金融领域有着重要的应用价值。

例如,在量化投资中,Matlab可以用于数据分析、金融模型建立、交易策略优化等。

在金融风险管理中,Matlab可以用于风险评估、投资组合优化、衍生品定价等。

在金融工程中,Matlab可以用于金融工具设计、金融市场预测等。

4. 数据分析领域:Matlab在数据分析中有着强大的功能和灵活性。

例如,在大数据分析中,Matlab可以用于数据清洗、数据可视化、机器学习等。

在统计分析中,Matlab可以用于假设检验、回归分析、时间序列分析等。

在图像处理中,Matlab可以用于图像增强、图像分割、目标识别等。

5. 教育领域:Matlab在教育领域中也发挥着重要的作用。

例如,在高校教学中,Matlab可以用于数学建模、科学计算、工程实践等。

在培训机构中,Matlab可以用于编程教学、数据分析培训等。

6. 生产制造领域:Matlab在生产制造领域也有着广泛的应用。

例如,在自动化控制中,Matlab可以用于系统建模、控制设计、仿真验证等。

在质量控制中,Matlab可以用于过程监控、异常检测、质量优化等。

Matlab环境下化学反应动力学的MonteCarlo模拟

Matlab环境下化学反应动力学的MonteCarlo模拟

分子碰撞理论认为,反应物分子(或原子、离子)之间必须相互碰撞,才有可能发生化学反应.但是反应物分子之间并非每次碰撞都能发生反应.对一般反应而言,只有少数或极少数分子碰撞时能发生反应[1].能发生反应的碰撞称为有效碰撞,任一时间点上有效碰撞的机率就反映了该化学反应的动力学情况.从数学的角度来看,这种分子间的碰撞过程就可抽象为一个随机过程.因此,用基于统计理论的MonteCarlo方法应是模拟化学反应动力学的最直接方法.1MonteCarlo模拟方法分析如前所述,只有分子所发生的有效碰撞才会导致化学反应的发生.在分子的碰撞中,只有那些具有等于或超过活化能的所谓活化分子所发生的碰撞才能发生分子间的化学反应.对于一般反应而言,这些活化分子产生的机率(即反应机率)是服从均匀分布的,按照杨玉良等的分析,反应机率与反应速率之间只相差一个常数[2].因此,可以提出如下的模拟思路:将计算机内存当作反应器,同时将反应器划分成足够多的体积微元,接着由计算机产生一组符合均匀分布的伪随机数,并按照实验结果将整个反应过程分成若干时间段,然后考察在各时间段中反应进行的情况.具体方法是将各物种的反应速率与该组伪随机数逐一比较,然后统计反应速率大于伪随机数的次数,该次数就被视为发生了有效碰撞的次数.当反应物分子(原子、离子)之间发生一次有效碰撞,对应的反应物或产物就分别减少或增加1个计算机单位浓度,最后分别统计各时间段中各物种浓度的变化情况.算法流程如图1所示.2化学反应动力学的MonteCarlo模拟实例2.1复杂反应网络的MonteCarlo模拟图1蒙特卡洛算法框图广东技术师范学院学报(自然科学)2012年第3期Journal of Guangdong Polytechnic Normal University No.3,2012Matlab环境下化学反应动力学的MonteCarlo模拟苏铁军1邓仕英2李凡修2(1.长江大学工程技术学院,湖北荆州434020;2.长江大学,湖北荆州434023)摘要:化学反应的进行缘于分子间不断产生的随机有效碰撞.这种碰撞的随机性就为用MonteCarlo方法来模拟反应动力学过程提供了可能.依此,在Matlab环境下设计了一种用MonteCarlo方法来模拟化学反应动力学的算法.通过对反应实例的模拟,结果表明,MonteCarlo方法不仅与龙格库塔法一样均能对已建立动力学方程的组分进行较好模拟,而且对动力学方程欠缺组分的模拟也是有效的.关键词:化学反应;动力学;MonteCarlo中图分类号:O64;TP39文献标识码:A文章编号:1672-402X(2012)03-0001-03收稿日期:2012-08-01基金项目:湖北省教育科学“十二五”规划研究项目(项目编号:2012B311).作者简介:苏铁军(1975-),男,湖北荆州人,长江大学工程技术学院讲师.研究方向:计算机化学教学与研究.在间歇反应器中制备产物B ,各反应均视为一级反应[3],反应网络如图2所示:在该反应中,反应物X 大量过量,A 的初始浓度为1Kmol/m 3,其余各物质的初始浓度均为零,各反应速率常数分别为k 1=0.00477497s -1,k 2=0.0006486s -1,k 3=0.00010725s -1,k 4=0.00123877s -1,k 5=0.00021667s -1.图3分别用实线和虚线列出了用MonteCarlo 方法和微分方程组的龙格库塔解法的模拟结果.从图中可见,两种方法对反应中各组分A 、B 、C 、D 浓度随时间的变化几乎一致.2.2苯热裂解脱氢的MonteCarlo 模拟联苯是一种重要的有机化工中间体,它通常是由苯热裂解脱氢制得.在反应过程中,同时会有副产物三苯基的生成[4,5].整个反应的方程式如下:2C 6H 6葑K 1K 2C 12H 10+H 2,(1)C 6H 6+C 12H 10葑K 3K 4C 18H 14+H 2.(2)在该反应中,C 6H 6初始浓度为1mol/L ,其余各组分的初始浓度均为0.反应中速率常数分别是k 1=0.0035833s -1,k 2=0.0040428s -1,k 3=0.0094458s -1,k 4=0.014807s -1.在MonteCarlo 模拟程序中,设置体积微元为0.00002,随机数为25000,模拟次数为100.图4显示了实验数据、MonteCarlo 模拟结果及龙格库塔模拟结果.从图中可见,对给出了动力学方程的组分苯和联苯,三者之间能较好地吻合.对于未建立动力学方程的氢气和三苯基而言,若按一般的二级反应来处理,图4中所示的龙格库塔模拟值与实验数据有了较大的偏离.3MonteCarlo 模拟效率的提高MonteCarlo 方法作为一种随机模拟方法,与微分方程组的数值解法相比,存在的一个较大的问题是模拟速度较慢[6],特别是当随机数规模较大时,这种现象尤其严重.个中原因就在于反应速率与随机数进行逐一比较的过程耗时较多.为了提高模拟速度,在算法中先将随机数进行排序,然后以组分中的最大浓度值与最大速率常数的乘积作为在随机数中寻找有效碰撞次数的阀值.这样的处理,既保证了模拟的精度,又大大节省了搜索时间,提高了模拟速度.图2反应网络图3各组分浓度随时间的动态变化模拟结果图4各组分浓度随时间的动态变化模拟结果图5MonteCarlo 模拟的图形用户界面4MonteCarlo模拟的GUI(图形用户界面)开发为了使模拟程序使用更加方便,开发了如图5所示的图形用户界面.该用户界面在Matlab7.1环境下实现[7].整个界面主要分为输入部分和结果部分,其中输入部分包括反应式、物种初始浓度、反应速率常数、体积微元、随机数个数等内容,结果部分包括图形和数值两部分.图形用户界面的开发,进一步提高了模拟程序的易用性和直观性.5结论MonteCarlo方法用于化学反应动力学模拟,具有理论直观、编程简单、效果较好的特点,还能准确给出动力学模型缺失情况下的组分的动力学信息.通过开发Matlab环境下具有较强通用性的Monte-Carlo模拟程序,有助于推动这一方法在化学反应动力学教学和研究领域的应用.参考文献:[1]杨宏孝,凌芝,颜秀茹.无机化学[M].北京:高等教育出版社,2002.[2]杨玉良,张红东.高分子科学的Monte Carlo方法[M].上海:复旦大学出版社,2001.[3]黄华江.实用化工计算机模拟[M].北京:化学工业出版社, 2004.[4]屈一新.化工过程数值模拟及软件[M].北京:化学工业出版社,2011.[5]曹贵平,朱中南,戴迎春.化工实验设计与数据处理[M].上海:华东理工大学出版社,2009.[6]梁逸曾,俞汝勤.分析化学手册(第二版)第十分册[M].北京:化学工业出版社,2000.[7]陈垚光,毛涛涛,王正林等.精通Matlab GUI设计[M].北京:电子工业出版社,2011.MonteCarlo Simulation for Chemical Reaction Kinetics in MatlabSU Tiejun XI Wei ZHANG Ming(Engineering Technoloy College of Yangtze University,Jingzhou Hubei434023)Abstract:The occurrence of chemical reactions depends on the effective collision among molecules.It is pos-sible to apply MonteCarlo to simulate reaction kinetics due to the randomness of the collision.An algorithm was developed to simulate chemical reaction kinetics with MonteCarlo in matlab.The simulation results indicate that there is consistency between the methods of MonteCarlo and Runge-Kutta for components with kinetic equation,avd it is efficient for components without kinetic equation.Key words:chemical reaction;kinetics;MonteCarlo。

matlab语言在分析化学数据处理中的应用

matlab语言在分析化学数据处理中的应用

不分行
MATLAB语言在分析化学数据处理中的应用
MATLAB在技术领域的应用越来越广泛,其在分析化学数据处理中也有着广泛的应用。

由于MATLAB具有便捷的数据输入输出、强大的数据处理能力以及强大的图形绘制能力,使得它在分析化学数据处理中应用越来越广泛。

首先,MATLAB拥有便捷的数据输入输出,可以从外部文件中快速获取数据,也可以将处理后的数据快速输出到外部文件或者图形中。

这样,分析师就可以快速获取和处理大量的数据,从而更快、更精准地得到有效的结果。

此外,MATLAB还具有强大的数据处理能力。

MATLAB拥有丰富的内置函数,可以实现复杂的数据处理,如数据校正、同步处理、滤波、插值等,可以有效地滤除噪声,获得更加准确的结果。

最后,MATLAB还拥有强大的图形绘制能力,可以生成自定义的图表,如折线图、曲线图、直方图等,帮助分析师观察数据的变化趋势,从而更好地解释结果。

总之,MATLAB在分析化学数据处理中的应用非常广泛,它的优点在于其便捷的数据输入输出、强大的数据处理能力以及强大的图形绘制能力,都能有效提高分析效率,提供更准确的结果。

Matlab与化学化工计算.ppt

Matlab与化学化工计算.ppt
X,Y───为已知数据点的x, y值; XI─── 为待插值数据点的x值; YI─── 为返回的插值结果; method───用于指定所采用的插值方法
插值函数interp1提供的插值方法
项目 nearest linear spline pchip cubic
取值 最近插值 线性插值,为interp1的缺省方法 分段三次样条插值 分段三次Hermite插值 同pchip
13.8738
15.9586
13.4637
16.4446
13.8885
15.9752
13.8738
15.9586
12.8067
13.8737
15.9588
最接近真实值
2.86 17.4615 18.1741 17.4823 17.4616 17.4622
例7-6
已知水在20,21,22,23℃的饱和蒸汽压分别为 17.54,18.65,19.83,21.07mmHg,求20.5,21.5, 22.5和24 ℃时水的饱和蒸汽压各是多少?已知 24 ℃时水的饱和蒸汽压为22.38mmHg
1993年
MathWorks 公司从加拿大 滑铁卢大学购 得5M.0a的ple的使 M用AT权L,AB推拥出有了 更符丰号富计的算数工据具类 型包和结构、更友 善的面向对象、 更加快速精良的 图形可视、更广 博的数学和数据 分析资源、更多 的应用开发工具
2004年,MATLAB 7.0版
Matlab 的优点
已知由g(X) (可能未知或非常复杂)产生的n+1 个离散数据(xi, yi), i=0,1,2,…,n,且这n+1个互 异插值结点满足a=x0<x1<x2<…<xn=b,在插值 区间[a,b]内寻找一个相对简单的函数f(x),使 其满足插值条件f(xi)=yi, i=0,1,2,…,n。再利用已 求得的 f(x)计算任一非插值结点x*处的近似值 y*=f(x*)。其中f(x)称为插值函数,g(x)称为被 插值函数

化学软件基础-第3章 第6节-Matlab应用实例-化学计量学

化学软件基础-第3章 第6节-Matlab应用实例-化学计量学

预测:
X BTQ T
2019/10/29
化学计量学方法简介
23/40
④ 多元曲线分辨方法
多元曲线分辨简介
多元曲线分辨 (Multivariate Curve Resolution, MCR) 是这样一组技术,它能够从未知混合物的 各种演进过程的数据中提取出纯物质的各种响应 曲线(如,光谱曲线,pH曲线,时间曲线,洗脱 曲线,浓度曲线,等等),而不需要预先知道未 知样本的种类及组成信息。
Y n m X B n k k m
2019/10/29
化学计量学方法简介
22/40
PLS的基本原理
主成分分解
测量矩阵 Y T V T E Y 浓度矩阵 X R Q T E X
建立R和T之间的关系
ri b iti
使T使既可以描述Y矩阵,也可以描述X矩阵。
实现方法: 在迭代过程中,以 R代替T计算V T,以 T代替 R 计算 QT 。
Y XB
如:m个组分的浓度与k个波长的吸光度之间的关系!
2019/10/29
化学计量学方法简介
19/40
多元回归的应用
干扰组分存在时某组分的含量测定
0.010
0.008
吸 0.006 光 度 0.004
Co Ni
步骤
Cu
配制已知浓度(y)的标准溶液 (Co的浓度已知,Ni和Cu为干扰);
18/40
多元校正(多元回归方法)
多元回归模型(II)
y11
Y


y21

y12 y22
y1m
y
2
m



yn1

MATLAB在化学工程中的应用与优化

MATLAB在化学工程中的应用与优化

MATLAB在化学工程中的应用与优化化学工程是一门研究化学过程和化学反应的学科,其应用领域涉及化工生产、能源开发、环境保护等多个方面。

为了提高生产效率、减少资源浪费,化学工程师们经常需要使用各种工具和方法进行过程模拟和优化。

而MATLAB作为一种功能强大的科学计算软件,提供了丰富的工具箱和函数,因此在化学工程中有着广泛的应用和巨大的优势。

一、过程模拟和优化在化学工程中,过程模拟是基础且必要的步骤。

通过建立数学模型,可以预测化学反应过程中的物质转化率、反应速率等重要参数,进而精确地设计反应器、控制温度、压力等操作条件。

而MATLAB提供了丰富的数值计算和仿真工具,可以帮助化学工程师实现精确的过程模拟。

MATLAB中强大的数值计算功能使得化学反应动力学的模拟变得相对简单。

通过使用ODE(Ordinary Differential Equations)工具箱,可以方便地求解化学反应过程中的微分方程。

在反应动力学已知的情况下,使用MATLAB建立反应速率方程,并将其嵌入微分方程求解器中,可以精确地模拟出化学反应的时间演化。

此外,MATLAB还提供了动态过程模拟工具Simulink,化学工程师可以通过直观的图形界面搭建反应器、换热器等各种装置,并通过连接传感器和执行器模拟现实过程中的动态变化。

化学工程中经常需要进行各种操作条件的优化,如反应温度、反应物物料比等。

MATLAB中的优化工具箱正好能够满足这一需求。

通过建立合适的优化目标函数和约束条件,化学工程师可以使用MATLAB的优化算法(如遗传算法、粒子群优化等)找到最优的操作条件。

这种基于数值计算的优化方法不仅节省了时间和资源,而且在复杂的多变量问题中也有着较好的表现。

二、参数估计和反馈控制在实际的化学工程中,往往难以获得准确的动力学参数,这给过程模拟与优化带来了很大的挑战。

然而,MATLAB提供了丰富的参数估计工具箱,化学工程师可以通过实验数据对动力学参数进行估计,从而提高模型的准确性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

硕士研究生课程论文课程名称:MATLAB及其应用题目:MATLAB在热物理学中的应用学院:专业名称:姓名:学号:任课教师:提交时间:2013 年 11 月 21 日MATLAB在热物理学中的应用摘要:本文阐述了基于MATLAB的数值计算、可视化图形处理、开放式以及可扩充体系结构的特点,并介绍了高性能语言 MATLAB 在大学物理热物理学中的一些应用,包括在麦克斯韦速率分布和化工热力学中的应用。

关键词:MATLAB;麦克斯韦速率分布;热力学Application of MATLAB in thermal physics Abstract:Based on MATLAB’s features of numerical calculation, visualization of graphics processing,opening and scalable architecture,introduced the applications of language of Matlab with high-performance in thermal physics of university physics,include in the Maxwell speed distributionand the chemical industry thermodynamics.Key Words: MATLAB; Maxwell speed distribution; thermodynamic引言热物理学是化工研究的一个方向, 由于热物理学处理比较复杂,恰当地使用可视化以展现数学公式的物理图像, 使其变得直观、形象。

MATLAB 是一套高性能的数值计算和可视化软件,下面我们从一些典型的实例出发, 介绍 MATLAB 在热物理学方面的具体应用。

1 MATLAB-PDEtool 介绍MATLAB-PDEtool 提供了一个功能强大使用灵活的二维有限元偏微分方程求解环境,其图形用户界面更是使用十分方便、直观一般来说,MATLAB-PDEtoo l 包括3个步骤:(1) 定义一个PDE 问题,它包括确定二维求解区域、边界条件和PDE 系数。

MATLAB-PDEtool 能够求解的PDE 型式有:椭圆型、抛物线型、双曲线型、特征值型。

当使用GUI 时,可以在画图模式下确定求解区域;在边界模式下选择方程形式和设置方程系数。

(2) 数值求解,它包括剖分、离散方程和得到一个数值解。

在GUI 中,在剖分模式下形成满意的网格;在求解模式下通过选择数值计算方法求解。

(3) 图形化显示结果。

通常用于表现有限元计算结果的图形有:变形网格图、云图、等值线图、矢量图、网格图、表面图、流线图等。

2 MATLAB 在麦克斯韦速率分布中的应用气体动力学理论中麦克斯韦速率分布律是大学物理讲授与学习中的一个难点和重点。

这是因为公式比较复杂抽象,数学推导证明比较繁琐。

如果借助 Matlab 就可以比较方便地解决这些问题。

首先, 推导三种速率和归一化条件。

已知分布函数表达式为:KT mV v e v kTm f2223)()2(4-=ππ (1) 最大概然速率分布可由下式求出:0)(=dvdf v (2)平均速率的定义是:dv vf v ov ⎰∞=)((3)方均根速率为: 21)(02)(2dv f v v rmsv v⎰∞==(4) 归一化条件是:dv vf v ⎰∞)( (5)后三项求解比较复杂,其中用到Gamma 函数,传统方法是查数学用表得到结果。

如果应用 Matlab 的符号计算功能, 只需要简单几行语句就可以解决这些问题。

用到相关函数有:符号变量创建函数 syms ,求微分函数diff , 求积分函数 int ,符号化简函数 simple ,字符串转化函数 eval 。

具体 Matlab 语句如下:Syms mktvanpg=exp(- (m*v^2)/(2*k*t))*v^2;a=m/(2*k*t);f=int(exp(- a*v^2)*v^n,v,0,inf); b=f*4*pi*(a/pi)^(3/2);pretty(solve(diff(g,v))); %求解最概然速率 n=2;eval(simple(eval(b))),%证明归一化条件 n=3;pretty(simple(eval(b))),%求解平均速率n=4;pretty(eval(simple(eval(b^0.5)))), %求解方均根速率 程序中第五行语句给出最大概然速率:mk Tvp2=(6) 其物理意义是:“若把整个速率范围分成许多相等的小区间,则 vp 所在的区间的分子数占分子总数的百分比最大”。

所以可知在( 0,+∞) 速率区间的分子数占分子总数的百分比(对应着曲线与X 轴所围的面积) 恒等于1,即满足归一化条件,第六行语句证明了这个结论。

第七行语句给出平均速率:mkTv 8=(7) 第八行语句给出方均根速率:mkTvrms3=(8) 其次,运用 Matlab 强大的画图功能,可以画出同一种气体分子( 氮气) 在不同温度下的分布曲线( 图 1)和不同气体分子( 二氧化碳、氧气、甲烷) 在同一温度下的曲线( 图 2)。

程序中用到画图函数 ezplot 。

图1、图2中实线为麦克斯韦速率分布曲线,虚线的 X 轴坐标为最大概然速率 p v 的值。

从图中曲线变化情况可以验证p v 是气体分子质量 m 的减函数, 是温度 T 的增函数。

由此可以说明在满足归一化条件下,温度升高时曲线变得平坦些,并向高速区域扩展。

即温度越高,速率大的分子越多,这就是通常所说的温度越高,分子运动越剧烈的真正含义。

3 Matlab 在处理化工热力学数据中的应3.1 利用Matlab 处理实验数据的原理及方法非线性最小二乘法的数学模型为:)(min 12x f mi i ∑==(9) 其中:),...,,(321n x x x x x =是n 维向量,,))(),...(),(()(21T m x f x f x f x f =则上式又可 表示为 22||)(||min x f(10) 求解非线性最小二乘问题的算法主要有Gauss-Newton 法和Levenberg-Marquadt 法。

Gauss-Newton 法通过在每一次迭代步骤求解下列线性最小二乘问题来获得搜索方向k d 。

22||)()(||min k k k x F d x J -(11) 搜索方向k d 可以用于一维搜索,以保证每次迭代都使f(x)减小。

Levenberg-Marquadt 法(又称阻尼牛顿法)则是用下式求搜索方向k d 。

)()())(((k k k k Tk x F x J d I x J x J -=+λ (12)其中k λ为阻尼因子。

它可以控制k d 的大小和方向。

当k λ=0时,即为Gauss-Newton 法;当k λ→∞时,即为最速下降法。

在Matlab 的优化工具箱中有求解非线性最小二乘问题的函数Lsqnonlin():[x,resnorm,residual,exitflag,output,lanbda,jacobian]=Lsqnonlin(‘fun’,x0,LB ,UB,options,p1,p2,…)。

在这个函数中,输入变量中只有‘fun ’和0x 是不可缺省的,fun 是给出向量函数的m-文件的文件名,0x 是x 的初值。

输出宗量中只有x 是不可缺省的,它是问题的解。

针对不同的问题,可以选择不同的算法来计算。

默认时,该函数将采用Gauss-Newton 法进行一维搜索,在残差较小时,这种算法有较好的效果和较快的速度。

也可通过将输入变量rgescale 设置为‘off’来使用Levenberg-Marquardt 算法进行一维搜索[11]。

下面我们就来运用这一函数来寻求最佳配偶参数1A 和2A ,并将得到的参数代入方程(1)来检验计算值和实验值的误差。

(1)建立以汽相组成误差的平方和作为目标函数:])()[(222211411j c e j c j e y y y y F -+-=∑= (13)其中1e y 和2e y 为实验值,1c y 和2c y 为待计算值。

(2)建立jscs.m 文件:%计算配偶参数Function z=jscs(a)x1=[0.0000,0.0098,0.0495,0.0811,0.1020,0.1497,0.2494,0.3213,0.4501,0.6905,0.9112,0.9656,0.9818,0.9999];x2=1-x1;y1e=[0.0000,0.0148,0.0603,0.0951,0.1102,0.1454,0.1988,0.2271,0.2625,0.3240,0.5551,0.7953,0.8999,0.9999];y2e=1-y1e;p=[101.325,101.325,101.325,101.325,101.325,101.325,101.325,101.325,101.325,101.325,101.325,101.325,101.325,101.325];ps1=[43.2649,42.6417,41.7209,41.4176,41.2667,41.2667,41.5690,42.0260,43.4219,49.7470,71.2944,85.8818,92.1282,101.2401];ps2=[101.7462,100.1531,97.8025,97.0291,96.6444,96.6444,97.4152,98.5809,102.1477,118.4094,174.7990,213.6398,230.4018,254.9750];for i=1:14y1c(i)=exp(a(1)*x2(i)/(x1(i)+a(1)*x2(i)))*ps1(i)*x1(i)/(p(i)*(x1(i)+a(1)*x2(i))*exp((a(2)*x2(i)/(x2(i)+a(2)*x1(i)))));y2c(i)=exp(a(2)*x1(i)/(x2(i)+a(2)*x1(i)))*ps2(i)*x2(i)/(p(i)*(x2(i)+a(2)*x1(i))*exp((a(1)*x1(i)/(x1(i)+a(1)*x2(i)))));z(i)=(y1e(i)-y1c(i))^2+(y2e(i)-y2c(i))^2; end%计算平均偏差y1c=(ps1.*x1.*exp(a(1).*x2./(x1+a(1).*x2)))./(p.*(x1+a(1).*x2).*exp(a(2).*x2./(x2+a(2).*x1)));n=size(ps);meandev=sum(1.0-y1c./y1e)/n(2) (3)在Matlab 命令窗口输入:a =[1 1];%0a 为参数1A ,2A 的初值 x=lsqnonlin(‘jscs’, 0a ) 运行后,具体结果见表1。

相关文档
最新文档