Matlab在化学的应用.docxVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

Matlab在化学的应用

化软件和数值处理软件,如Excel、Origin等,这无疑是目前化学工作者迫切需要掌握的计算机软件知识。然而,应当指出,要在教学特别是在一些较复杂的科研问题中编写一个完整的程序,决不是一件轻而易举的事,尤其是当程序中需要较多的数值计算时,用高级语言编写程序,涉及到要选择合适的算法,和编写冗长的语言代码,键入和调试。即使有现成的标准子程序可供调用,这仍是一个复杂的理论性经验性技巧性很强的工作。尤其当涉及到有关矩阵运算时,编程会非常麻烦。而目前的办公自动化软件和数值处理软件又不全能满足这方面的要求。寻求一种功能强大,编程简单而适合化学工作者知识结构(比如,专门的数学知识和计算机知识相对较弱)的高级语言,一直是许多化学工作者梦寐以求的事情。近年来,Matlab语言的出现,期望给化学工作者带来福音,可为化学工作者提供强大的易学的程序设计语言,满足化学工作者在教学和科研中所遇到的各种问题。

Matlab是Mathworks公司于1982年推出的一套高性能的数值计算和可视化软件,目前已推出5.2版。它原是著名的数值代数专家CleveMoler博士在讲授线性代数课程时构思开发的一种语言,原文是MAtriXLaboratory(矩阵实验室),集数值分析,矩阵计算,信号处理和图形显示于一体,构成了一个方便的界面友好的用户环境。目前,Matlab已被IEEE评为公认的最优秀科技应用软件。在我国自动控制界已推广使用这种语言,并有编著问世[1-2]。Matlab语言有三大特点:一是功能强大,包括数值计算和符号计算,计算结果和编程可视化,数学和文字统一处理,二是界面友好,语言自然。Matlab以复数矩阵为计算单元,指令表达与标准的教科书的数学表达式相近。三是开放性强。MATLAB有很好的可扩充性,可将其当作一种更高级的语言去使用。事实上,Matlab更强大的功能还表现在其有大量的工具箱(ToolBoX),如:控制系统,神经网络,数值模拟,统计分析,及偏微分方程等工具箱,可方便科技工作者在更专门领域的应用。目前,我国的化学工作者对该语言还相当陌生,其在化学中的应用很少人研究。

本文用Matlab语言编写了一个化学中的例子,并和其它语言所编程序进行对比。尽管这些例子相对简单,不足以体现Matlab的特色于万一。但我们仍可从中领悟Matlab的强大功能和独特魅力。至于内容丰富,功能异常强大的工具箱在化学中的应用。

Matlab应用实例

在混和物组分分析中的应用[3]

若有一个硝基苯,苯胺,氨基丙酮,乙醇四种化合物的混合物其分析结果为(质量百分数)

C

H

O

N

57.78

7.92

11.23

23.09

求混合物中四种化合物的含量

解:硝基苯,苯胺,氨基丙酮,乙醇的化学式为C6H5NO2,C6H7N,C3H7NO,C2H6O,化合物的分子量依次为mw(j)(j=1,2,3,4),元素C,H,N,O的原子量依次为aw[i](i=1,2,3,4)。元素i在化合物中的原子个数为an[i,j],化合物j在混合物中的含量分别为X[j],元素i在混合物的含量为Xb[i],则有下列方程

j=14(an[i,j]*aw[i]/mw[j])*X(j)=Xb[i],i=1,2,3

这是以X(j)为未知数的四元线性方程组

设:

A=an][i,j]*aw[i]/mw[j],i=1,2,3,4.j=1,2,3,4.

X=X(j),j=1,2,3,4.

则B=Xb[i],i=1,2,3,4。

上述方程可变为矩阵形式

AX=B

下面用MATLAB语言直接解矩阵方程

B=[0。5778;0。0792;0.1123;0.2309]

X=A\B

运行后

可见只需要短短几句,便可求出结果.

本题用PASICA语言编写的程序如下

constn=4

aw:array[1.n]ofreal=(12.011,1.008,14.07,16.00);

mw:array[1.n]ofreal=(123.1,93.13,73.10,46.07);

Xb:array[1..n]ofreal=(0.5778,0.0792,0.1123,0.2309);

an:array[1..n,1..n]ofinteger=((6,6,3,2,),(5,7,

文档评论(0)

175****4659 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档