- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
10.34 应用于化工原理中的数值法MATLAB 学习指南Kenneth Beers 化工
10.34 应用于化工原理中的数值法
MATLAB 学习指南
Kenneth Beers
化工原理研究室
麻省理工学院
2001,8月1日
用于自然科学的计算机 作的本质
此门课程重点讲述使用计算机解决化工原理中的问题。我们将会学习怎样来解描述
动量,能量和质量传递的偏微分方程,怎样求建立化学反应器模型的普通微分方程
的积分,怎样模拟动力学以及怎样预测分子的最小能量结构。这些问题可从数学运
算的角度来表述,例如计算机无法识别的偏微分和积分。计算机所能做的就是将数
字存储在内存中并对这些数字做简单的运算像加法,减法,乘法,除法和取幂。我
们需要设法将描述这些问题的更高级别的数学运算转化为这一系列基础的运算。
使用模拟算法可以把每个问题分解成以下形式的线性方程组,所以建立模拟算法是
符合逻辑的。
此系统中包含两种算法(乘法和加法),计算机能够识别这两种算法并且可以进行
运算。我们可用矩阵方程Ax = b极其概括地来表示这组方程,其中A={aij }是左手
边的系数矩阵,x是解向量,b是右手边的系数向量。这种概括的表示法允许我们以
一种相容语言来传达系统特有的线性方程组,以便提前将数据写入已被最优化的算
法中,这样就可以非常有效地解方程组。这也使我们不必每次编写新程序时都要为
线性解算程序编码。这种把重复性的工作简便为可重新使用的,提前编写好的子程
序的方法使得使用计算机解决复杂的技术问题的想法变得可行。同时,也允许我们
对几十年的应用数学的研究加以利用,通过研究已建立起了有效的数值算法。通常,
科学程序包括问题特有的部分:进行参数输入和结果输出,把问题用一系列线性代
数方程来描述,然后程序用大部分执行时间解这些线性方程。此门课程重点在于理
解科学计算机操作的基本理论和概念。但是我们也需要知道如何把这些概念转化为
工作程序以及如何将我们问题特有的编码和能够有效执行所期望的数值运算的提前
编写好的程序相结合。
那么,我们怎样指示计算机来解决具体的问题呢?在基础阶段,一台计算机所能
做的就是遵循输入的指令,从具体指定的内存区间中检索数字,再对这些数字进行
一些简单的代数运算,然后将数字储存在内存中(可能是新的位置)。与其强迫计
算机使用者处理像内存地址或数据从内存到CPU的通行这样的细节,还不如计算
机科学家为每种类型的计算机建立一个称作编译程序的程序。编译程序可以把人类
级别的编码转化为一组详细的机器级别的指令(包含于一个可执行文件中),计算
机再执行指令,完成任务。使用编译程序,使编写代码来指示计算机进行下列操作
变得很容易。
1. 在内存中找到一个空间来存储实数x
2. 在内存中找到一个空间来存储实数y
3. 在内存中找到一个空间来存储实数z
4. 令x=2
5. 令y=4
6. 令z=2*x+3*y 其中*代表乘法
通过编写下述代码,可在FORTRAN语言中完成这些任务。FORTRAN语言是第一
个现代科学程序编辑语言,普 的FORTRAN 77语言(在FORTRAN语言的基础
上做了修改)仍是当前被广泛使用的语言。
这个程序本身可以执行所期望的任务,但是却不能为使用者提供任何方法来查看结
果。能够执行任务并将结果写出显示在屏幕上的完整FORTRAN程序是:
当此代码用一个FORTRAN 77 编译程序进行编译时,来自可执行文件,显示在屏
幕上的输出为:z = 16.0000。编译程序设计语言仅允许正文,数字和二进制数据
的简单输出,所以将结果绘成图表的工作必须由不同的程序来完成。实际上,这种
需要——编写代码,以合适的格式将其输出存储于文件中,以及在单独的制图或
分析程序中读取此文件——引导我们对于小的项 目使用 “罐装的”软件,例如
EXCEL。EXCEL 不适合专业计算机操作,毕竟 EXCEL 是一种商业空白表格程序。
其它编译程序设计语言也存在,大多数都比FORTRAN 77功能更加强大。但
FORTRAN 77却被保留下来了,这主要由于在FORTRAN 77中存在用语言编写的
高效率数值程序。尽管FORTRAN 77缺少更多现代语言的功能性,但执行速度却是
它的优势。在80和90年代,C和C++在更广泛的计算机科学界变得极为流行,这
是因为它们允许使用者更方便地组织和构造数据,还允许使用者为大程序编写高模
数代码。C 和 C++从未在科学计算机界获得与FORTRAN 77同样的流行度,这主
要因为C 和 C++把重点更多地放在了强大的功能和普遍适用
文档评论(0)