化工科學科學科學應用數(shù)學_第1頁
化工科學科學科學應用數(shù)學_第2頁
化工科學科學科學應用數(shù)學_第3頁
化工科學科學科學應用數(shù)學_第4頁
化工科學科學科學應用數(shù)學_第5頁
已閱讀5頁,還剩182頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

化工應用數(shù)學

MATLAB與Origin在化學化工中的應用

湯吉海編

南京工業(yè)大學化學化工學院

2006年1月

目錄

第一章緒論1

數(shù)學在化工中的重要作用

數(shù)學模型

1.2.1數(shù)學模型3

1.2.2建立數(shù)學模型的一般方法………3

1.2.3在化工工程中應用數(shù)學的步驟4

1.3求解數(shù)學模型的計算機工具4

1.3.1求解數(shù)學模型的計算機工具.…4

1.3.2MATLAB簡介5

1.3.3MATAT,B在化學化工中的應用7

第二章MATLAB基礎(chǔ)8

2.1MATLAB的圖形窗口界面8

2.2用MATLAB做簡單數(shù)學運算

2.2.1如何做簡單運算

2.2.2獲取工作空間信息

2.2.3變量名稱限制及特殊符號

2.2.4常見數(shù)學符號

2.2.5關(guān)于復數(shù)15

2.3向量及矩陣的處理15

2.3.1向量的處理..15

2.3.2向量的運算....16

233矩陣的處理....18

2.4循環(huán)及運算元一22

2.4.1for循環(huán)22

2.4.2while循環(huán)23

2.4.3if^clse-cnd結(jié)構(gòu)24

2.4.4script文件與function文件

2.4.5如何做文字處理27

2.4.6關(guān)系運算符(relationoperation)2g

2.4.7邏輯運算符(logicaloperator)..29

2.5用MATLAB畫圖30

2.5.1如何畫圖?30

2.5.2定義圖示信息32

2.5.3繪制特殊圖形33

2.5.4在同一視窗圖中繪多個圖34

2.5.5在同一圖中繪制多條曲線35

2.6MATLAB在化工中的簡單應用實例..39

2.6.1向量的應用39

2.6.2在復合反應系統(tǒng)中的獨立反應39

2.6.3利用沉降法求液體粘度41

2.6.4連續(xù)釜式反應器的設(shè)計44

第三章線性方程組的數(shù)值求解46

3.1解線性方程組的直接法46

3.1.1?茍斯(Gauss)消去法46

3.1.2直接二角解法50

3.1.3解三對角方程組的追趕法53

3.2解線性方程組的迭代法54

3.2.1雅可比(Jacobi)迭代法54

3.22高斯-賽德爾(Gauss-Seidel)迭代法55

3.3利用MATLAB求解線性方程組57

3.3.1求線性方程組的直接解法57

3.3.2求線性方程組的其他解法60

3.4線性方程組在化工中的應用實例61

3.4.1乙醇精儲過程的物料平衡62

3.4.2六板吸收塔66

第四章非線性方程(組)的數(shù)值求解69

4.1解非線性方程Newton迭代法69

4.1.1Newton法69

412弦截法69

4.1.3拋物線法(Muller法)70

4.2非線性方程組的解法71

4.2.1Newton-Raphson法71

4.2.2B73

4.2.3Wegstein力口速收斂法74

4.3非線性方程(組)的MATLAB求解75

4.3.1代數(shù)方程的圖解法75

4.3.2多項式型方程的求根77

4.3.2多項式型方程的準解析解法77

4.3.3一般非線性方程數(shù)值解79

4.3.4Newton-Raphson法求解非線性方程82

4.4線性方程組在化工中的應用實例83

4.4.1根據(jù)PVT關(guān)系計算摩爾體積83

4.4.2多組分溶液體系的沸點86

4.4.3絕熱連續(xù)攪拌釜式反應器的轉(zhuǎn)化率88

第五章數(shù)值逼近方法...93

5.1插值93

5.1.3三次樣[插值97

5.2曲線擬合的最小二乘法97

5.2.1線性最小二乘法98

5.2.2非線性最小二乘法101

5.3數(shù)值積分104

5.3.1牛頓-柯特斯(Newton-Cotes)公式104

5.2.2復化求積公式105

5.4利用MATLAB進行數(shù)值逼近105

5.4.2曲線擬合108

5.4.3數(shù)值積分112

5.5數(shù)值逼近在化工中的應用實例114

5.4.1蒸氣壓關(guān)系式114

5.4.2逆流操作的填料塔的總傳質(zhì)單元數(shù)116

5.4.3Lewis法計算雙組分簡單精偏塔的理論板數(shù)117

第六章常微分方程(組)的數(shù)值求解120

6.1解常微分方程初值問題的離散化方法120

6.2解常微分方程初值問題的歐拉法121

6.2.1歐拉(Euler)方法121

6.1.2改進的歐拉方法122

6.3解常微分方程初值問題的龍格一庫塔(Runge-Kutta)法122

6.3.1Runge-Kutta法的基本思想123

6.3.2Runge-Kutta法的構(gòu)造123

6.3.3變步長的Runge-Kutta法125

6.4線性多步法126

6.5常微分方程(組)初值問題的MATLAB求解128

6.6常微分方程組初值問題在化工中的應用實例130

6.6.1管式反應器的計算的溫度分布130

6.6.2固定床反應器內(nèi)轉(zhuǎn)化率及溫度沿床層高度的分布132

第七章科技繪圖與數(shù)據(jù)分析軟件Origin136

7.1OriginAfl136

7.1.1Origin的窗口界面136

7.1.2Origin的使用步驟138

7.2數(shù)據(jù)工作表格140

7.2.1輸入、編輯和保存工作表格140

7.2.2調(diào)整工作表格的基本操作142

7.3Worksheet數(shù)據(jù)分析143

7.3.1工作表格計算143

7.3.2十...144

7.4數(shù)據(jù)繪圖144

7.4.1數(shù)據(jù)繪圖的基本術(shù)語146

7.4.2單層二維圖的繪制146

7.4.3繪制多層圖形151

7.4.4用戶自定義函數(shù)繪圖159

7.5數(shù)據(jù)圖的格式化162

7.5.1改變數(shù)據(jù)圖型、格式、組的格式162

7.5.2坐標軸的調(diào)整163

753文字及圖例說明167

7.6曲線擬合168

7.6.1線性擬合168

7.6.2非線性擬合169

練習題176

-MATLAB練習題176

二Origin練習題180

參考文獻182

第一章緒論

1.1數(shù)學在化工中的重要作用

數(shù)學對化學工業(yè)的發(fā)展所起的作用非常巨大,沒有數(shù)學就沒有今天的化學工業(yè)。Purdue

University的DoraiswamiRamkrishna教授和UniversityofHouston的NealR.Amundson教授在

AIChEJournal創(chuàng)刊50周年的特輯上的文章“MathematicsinChemicalEngineering:A50Year

Introspection"(AIChEJournal,2004Vol.50,No.1:7-23)對化工數(shù)學50年的發(fā)展作了精彩

的回顧與展望。在文章中,作者詳細描述了各種數(shù)學方法與化學工程個分支的相互關(guān)系,如

圖1-1所示。從圖中可以看出,各種數(shù)學方法如線性代數(shù)、張量微積分、幾何和拓撲方法、

微分方程、離散數(shù)學、統(tǒng)計和隨機方法、邏輯人工智能方法在化工中的連續(xù)介質(zhì)理論、經(jīng)典

和量子力學、傳遞過程、單元操作、化工過程工程、化學反應工程與反應動力學、介觀理論、

過程控制與辨識、離散系統(tǒng)分析等各個分支領(lǐng)域都有聯(lián)系,并且作者預測還將對目前正在興

起的納米系統(tǒng)和產(chǎn)品工程等新興研究領(lǐng)域起到推動作用。

圖1-1MathematicsinChemicalEngineering

由美國5家主要科技協(xié)會(AIChE,ACS,CCR,CMA,SOCMA)、4個政府辦事處(DOE,

NIST,NSF,EPA)以及近200家的工業(yè)、高等學校和政府的科技領(lǐng)先部門共同發(fā)起的美國

化學工業(yè)的科技發(fā)展路線圖報告"TechnologyVision2020:ReportoftheU.S.ChemicalIndustry”

中,其中過程模型、控制、測量和優(yōu)化領(lǐng)域作為一個重要組成部分列舉了計算技術(shù)在新化學

科學和工程技術(shù)中開發(fā)領(lǐng)域,如圖1一2所示。從圖中可以看出,計算技術(shù)將在計算分子科學、

過程模擬與模型、操作模擬與模型、大尺度集成與智能系統(tǒng)和計算流體力學5個領(lǐng)域發(fā)揮重

大作用,這樣,化學工程師將能夠從分子、設(shè)備、過程、工廠的微觀到宏觀范圍的多尺度上

真實的描述化工過程,從而使得化工過程的開發(fā)與設(shè)計更加的方便、快捷和準確。當然,工

過程的開發(fā)與設(shè)計的模式也與現(xiàn)在不同。

圖1-2Vision2020選擇的開發(fā)領(lǐng)域

UniversityofTexas的T.F.Edgar教授等在"Vision2020:ComputationalNeedsoftheChemical

Industry"中給出了21世紀的過程工程開發(fā)與設(shè)計模式,如圖1-3所示。該圖描述了科學理論、

實驗和模擬在過程開發(fā)中的相互聯(lián)系。在過程開發(fā)中一般都需要一些實驗(如實驗室小試、

中試等),操作可以是連續(xù)的或間歇的。然后使用根據(jù)機理和適當假設(shè)得到的模型對工廠進

行設(shè)計或優(yōu)化,并通過實驗數(shù)據(jù)估計模型參數(shù)來校正模型。

圖1-321世紀的過程工程開發(fā)與設(shè)計模式

當然,在科學研究中,模擬、實驗與理論的關(guān)系也是相互聯(lián)系的,如圖1-4所示。由模擬

所得到的結(jié)果,再經(jīng)科學實驗得到的實驗之相互比較,最后經(jīng)過理論的驗證,便可以得到一

個真正完美的結(jié)論。所以在近代科學研究中,必須以實驗驗證理論,以模擬輔助實驗,三者

并行,如此便能達到相輔相成的效果。

圖1-4模擬-實驗-理論的關(guān)系

1.2數(shù)學模型

采用計算技術(shù)解決化學工程問題的研究方法可以稱作計算化學工程,它包括三個要素:

(1)描述真實體系的可靠的數(shù)學模型,這是計算化學工程的核心。對于不同的體系、

不同的尺度的模擬,需要的模型也不同,例如過程模擬需要反應模型或分離模型;分子模擬

需要量子力學、分子力學或統(tǒng)計力學模型;計算流體力學則需要流體力學模型。

(2)高效率的計算方法。主要是能夠處理非常大的模型的非線性算法。

(3)強大的計算機硬件結(jié)構(gòu)。需要能夠適應不同時間尺度和空間尺度的大規(guī)模計算的

超級并行計算機

這里我們首先討論建立數(shù)學模型的基本方法,下節(jié)簡要介紹實現(xiàn)計算方法的計算工具。

1.2.1數(shù)學模型

一切客觀存在的事物及其運動狀態(tài)統(tǒng)稱為實體或?qū)ο蟆嶓w特征及變化規(guī)律的近似描

述或抽象就是模型,用模型描述實體的過程稱為建?;蚰P突?。

數(shù)學模型是系統(tǒng)的某種特征的本質(zhì)的數(shù)學表達式,即用數(shù)學式子(如函數(shù)式、代數(shù)方程、

微分方程、微積分方程、差分方程等)來描述(表達、模擬)所研究的客觀對象或系統(tǒng)在某

一方面的存在規(guī)律。

1.2.2建立數(shù)學模型的一般方法

一個理想的數(shù)學模型必須是既能反映系統(tǒng)的全部主要特征,同時在數(shù)學上又易于處理。

即它滿足以下兩點。

(1)可靠性:在允許的誤差值圍內(nèi),它能反映出該系統(tǒng)的有關(guān)特性的內(nèi)在聯(lián)系。

(2)適用性:它須易于數(shù)學處理和計算、復雜模型的求解是困難的,同時,復雜模型

也會因簡化不當而將一些非本質(zhì)的東西帶入模型,使得模型不能真正反映系統(tǒng)的本質(zhì)。因此,

模型既要精確,又要求它簡單。

建立模型的方法大致有兩種:實驗歸納法和理論分析法。最小二乘法就是典型的實驗歸

納法。

由理論分析建立數(shù)學模型的步驟有三步:

(1)通過對系統(tǒng)的仔細觀察分析,根據(jù)問題的性質(zhì)和精度的要求,作出合理性假設(shè)、

簡化。抽象出系統(tǒng)的物理模型。

(2)在此基礎(chǔ)上確定輸入、輸出變量和模型參數(shù),建立數(shù)學模型。一般來說,在不降

低精度的條件下。模型變量的數(shù)目越少越好。通常可以這樣處理來減少變量的數(shù)量,將相似

變量歸結(jié)為一個變量;將對輸出影響小的變量視為常數(shù)。

(3)因檢驗和修正所得模型。檢驗模型的手段是將模型計算結(jié)果與實驗結(jié)果做對比,

修正模型時,可從以下幾個方面考慮模型的缺陷:模型含有無關(guān)或關(guān)系不大的變量;模型遺

漏了重要的有關(guān)變量;模型參數(shù)不準確;數(shù)學模型的結(jié)構(gòu)形式有錯;模型反映系統(tǒng)的精確度

不夠。

1.2.3在化工工程中應用數(shù)學的步驟

數(shù)學應用的第一步是數(shù)學建模,即通過調(diào)查,收集數(shù)據(jù)、資料,觀察和研究其固有的特

征和內(nèi)在規(guī)律,抓住問題的主要矛盾,提出假設(shè),經(jīng)過抽象和簡化,建立反映實際問題的數(shù)

量關(guān)系,也就是數(shù)學模型;然后,再運用數(shù)學的方法和技巧去分析和解決實際問題。這時,

對數(shù)學模型的研究就相當于對實際系統(tǒng)的研究,改變各種參數(shù)進行計算,就相當子在實際系

統(tǒng)中進行各種試驗。這種方法被稱為數(shù)學模擬。由于模擬計算需在計算機上進行,因而,也

叫計算機模擬,或計算機仿真。由于這種方法法較常規(guī)實驗研究方法有著無法比擬的優(yōu)點(易

于實現(xiàn)、容易操作、速度快、成本低、安全、可做靈敏度分析等),因而,受到廣泛重視,

并已在化工過程開發(fā)、過程設(shè)計、過程優(yōu)化、過程控制等許多方面發(fā)揮重要作用。在其他學

科中的應用也非常的廣泛。

1.3求解數(shù)學模型的計算機工具

1.3.1求解數(shù)學模型的計算機工具

隨著計算機技術(shù)的飛速發(fā)展,對于數(shù)學模型的求解也有了多種方法,一種最便捷的方法

是采用針對特定模型體系的專有商業(yè)軟件沒這些商業(yè)軟件的實質(zhì)是數(shù)學模型和計算方法的

有機集成。例如在化學工程領(lǐng)域的一些典型軟件有:

(1)過程模擬:ASPENPLUS,PRO/ILCHEMCAD、gPROMS等

(2)分子模擬:Gaussian、Cerius2、MaterialsStudio、HyperChem、CHEMOFF1CE

(3)計算流體力學:CFX、FLUENT、StarCD等

采用商業(yè)專有軟件的優(yōu)勢是技術(shù)成熟、系統(tǒng)穩(wěn)定、資料豐富、技術(shù)交流方便。其缺陷也

十分缺陷,那就是價格高,解決對象為已有的成熟的工程問題,缺少新的研究課題的數(shù)學模

型,因此,對于科學研究領(lǐng)域,通過建模、編程解決新的模型問題成為必要。

編程求解數(shù)學模型就需要能夠?qū)崿F(xiàn)數(shù)值計算的計算機工具,目前可以分為兩大類:

(1)程序設(shè)計語言。典型的程序設(shè)計語言和對應的開發(fā)工具有:BASIC(開發(fā)工具有

VisualBASIC);PASCAL(開發(fā)工具有Delphi);C/C++(開發(fā)工具有VisualC++、C++Builder)、

FORTRAN(開發(fā)工具有CompacVisualFortran、IntelVisualFortran)

(2)數(shù)學軟件包。典型的數(shù)學軟件包由用于數(shù)學演算、符號計算和數(shù)值計算的

Mathematica、MathCAD、Maple和MATAB等;用于統(tǒng)計分析的SAS、SPSS、STATISTCA等。

程序設(shè)計語言的特點是執(zhí)行效率高、有豐富的數(shù)值計算源程序或庫文件,如Numerical

Recipes、IMSL庫以及網(wǎng)絡(luò)資源NetLib。但是對編程能力的要求高。

數(shù)學軟件包的特點是算法齊全,計算、圖形可視化和符號運算功能強大,且簡單易學、

擴展性好,也支持與其他高級語言混合編程。既是專業(yè)數(shù)學軟件,又是一種編程語言,編程

效率高,且代碼公開。內(nèi)建豐富的函數(shù)和工具箱。

對于數(shù)值計算的計算機工具的選擇,當前已經(jīng)從程序設(shè)計語言逐步向使用數(shù)學軟件包過

渡。1996年,UniversityofTexasatAustin的Kantor和Edgar兩位教授提出傳統(tǒng)計算機程序設(shè)計

不是工業(yè)化學工程師的重要技能,由于軟件維護的艱難性,許多公司告訴他們的工程師不要

開發(fā)獨立的軟件。

Dahm教授的調(diào)查表明美國84%的化工系講授程序設(shè)計的語言由傳統(tǒng)的FORTRAN、

C/C++向更高水平的開發(fā)環(huán)境如MAPLE、MATLAB等轉(zhuǎn)變。化學工程本科生所需要的數(shù)學

應用軟件調(diào)查結(jié)果:

PLOYMATHMATLABMAPLEMATHCADEZ-SolverSpreadsheetsMathematicaOther

37%65%24%37%5%82%13%15%

從結(jié)果中可以看出在化工領(lǐng)域中應用Spreadsheets和MATLAB的學校占絕大多數(shù)。

Swinnea教授從43份調(diào)查問卷中表明大部分的化工系講授不止一門程序設(shè)計語言,其分布

如下:

C/C++FORTRANMATLABExcelVBMATHCADOther

作為學習化學工程的學生來說,為了應付在工作中可能遇到的更多復雜問題,除了數(shù)學

工具外,還需要掌握其他的軟件,美國高校的計算中心一般都提供相當數(shù)量的各類軟件供學

生選擇使用。

如Colorado大學化工系本科階段接觸的軟件包括:Office、MATHCAD、MATLAB、

MATHEMATICALSimulink、Polymath,EZ-Solver>HYSYS>ASPEN+、Minitab、ControlStation,

Labview、Ladsim、Autocado

UniversityofTexasatAustin化工系課程中所用計算機軟件有:

?物料衡算和能量衡算:EZ-Solver,Polymath

A熱力學:Mathcad,Polymath等

A分離:Aspen

A過程控制:Matlab、Excel

A化學反應工程:Polymath、Octave

A產(chǎn)品與過程設(shè)計:Aspen,Hysys、Chemcad,Pro/II

>統(tǒng)計:JMP、SAS、Minitab

從中可以看出,不計Excel、CAD,一個美國化學工專業(yè)的學生需會用3個以上軟件。

由于課程學時的限制,本課程選擇MATLAB和Origin兩個軟件作為本課程的教學用計算

機工具。

1.3.2MAITAB簡介

1978年,美國新墨西哥大學計算機科學系主任CleveMoler教授使用FORTRAN編寫了用于

一組調(diào)用LINPACK和EISPACK程序庫的接口,用于矩陣、線性代數(shù)和數(shù)值分析,這就是

MATLABo它是取MATrixLABoratory(矩陣實驗室)兩個單詞的前三個字符組合而成的。它

是一種科學計算軟件,專門以矩陣的形式處理數(shù)據(jù)。

1984年,斯坦福大學的JackLittle使用C重寫MATLAB內(nèi)核,軟件兼具數(shù)值分析和數(shù)據(jù)可

視化兩大功能,并成立了MathWorks公司,將MATLAB軟件商業(yè)化并推向市場。支持Unix、

Linux、Windows多種操作平臺系統(tǒng)。

如今,MATLAB已經(jīng)成為具備計算機程序設(shè)計語言(computerprogramminglanguage)和

交互軟件環(huán)境(aninteractivesoftwareenvironment)的高效率的計算機語言。它將高性能的數(shù)

值計算和可視化集成在一起,并提供了大量的內(nèi)置函數(shù),從而被廣泛地應用于科學計算、控

制系統(tǒng)、信息處理等領(lǐng)域的分析、仿真和設(shè)計工作,而且利用MATLAB產(chǎn)品的開放式結(jié)構(gòu),

可以非常容易地對MATLAB的功能進行擴充,從而在不斷深化對問題認識的同時,不斷完善

MATLAB產(chǎn)品以提高產(chǎn)品自身的競爭能力。目前MATLAB產(chǎn)品族廣泛用于數(shù)值分析;數(shù)值和

符號計算;工程與科學繪圖;圖形用戶界面設(shè)計、控制系統(tǒng)的設(shè)計與仿真;數(shù)字圖像處理;

數(shù)字信號處理;通訊系統(tǒng)設(shè)計與仿真;財務(wù)與金融工程等領(lǐng)域。

MATLAB產(chǎn)品家族的框架結(jié)構(gòu)如圖1-5所示。其中

MATLAB是MATLAB產(chǎn)品家族的基礎(chǔ),它提供了基本的數(shù)

學算法,例如矩陣運算、數(shù)值分析算法,可直接調(diào)用600「UM"/

多個內(nèi)建MATLAB函數(shù)。MATLAB集成了2D和3D圖形功

能,以完成相應數(shù)值可視化的工作。并且提供了-種交互

式的高級編程語言一M語言,利用M語言可以通過編寫

腳本或者函數(shù)文件實現(xiàn)用戶自己的算法。

MATLABCompiler是一種編譯工具,它能夠?qū)⒛切﹫D上MATLAB家族產(chǎn)品框架

利用MATLAB提供的編程語言——M語言編寫的函數(shù)文

件編譯生成為函數(shù)庫、可執(zhí)行文件COM組件等等。這樣就可以擴展MATLAB功能,使

MATLAB能夠同其他高級編程語言例如C/C++語言進行混合應用,取長補短,以提高程序

的運行效率,豐富程序開的手段。

利用M語言還開發(fā)了相應的MATLAB專業(yè)工具箱函數(shù)供用戶直接使用。這些工具箱應用

的算法是開放的可擴展的,用戶不僅可以查看其中的算法,還可以針對一些算法進行修改,

甚至允許開發(fā)自己的算法擴充工具箱的功能。目前MATLAB產(chǎn)品的工具箱有四十多個,分別

涵蓋了數(shù)據(jù)獲取、科學計算(如偏微分方程、最優(yōu)化、數(shù)理統(tǒng)計、樣條函數(shù)、神經(jīng)網(wǎng)絡(luò)等)、

控制系統(tǒng)設(shè)計與分析、數(shù)字信號處理、數(shù)字圖像處理、金融財務(wù)分析以及生物遺傳工程等專

業(yè)領(lǐng)域。

Simulink是基于MATLAB的框圖設(shè)計環(huán)境,可以用來對各種動態(tài)系統(tǒng)進行建模、分析和

仿真,它的建模范圍廣泛,可以針對任何能夠用數(shù)學來描述的系統(tǒng)進行建模,例如航空航天

動力學系統(tǒng)、衛(wèi)星控制制導系統(tǒng)、通訊系統(tǒng)、船舶及汽車等等,其中了包括連續(xù)、離散,條

件執(zhí)行,事件驅(qū)動,單速率、多速率和混雜系統(tǒng)等等。Simulink提供了利用鼠標拖放的方法

建立系統(tǒng)框圖模型的圖形界面,而且Simulink還提供了豐富的功能塊以及不同的專業(yè)模塊集

合,利用Simulink幾乎可以做到不書寫一行代碼完成整個動態(tài)系統(tǒng)的建模工作。

Statcflow是一個交互式的設(shè)計工具,它基于有限狀態(tài)機的理論,可以用來對復雜的事件

驅(qū)動系統(tǒng)進行建模和仿真。Stateflow與Simulink和MATLAB緊密集成,可以將Stateflow創(chuàng)建的

復雜控制邏輯有效地結(jié)合到Simulink的模型中。

在MATLAB產(chǎn)品族中,自動化的代碼生成工具主要有Real-TimeWorkshop(RTW)和

StateflowCoder,這兩種代碼生成工具可以直接將Simulink的模型框圖和Statcflow的狀態(tài)圖轉(zhuǎn)

換成高效優(yōu)化的程序代碼。利用RTW生成的代碼簡潔、可靠、易讀。目前RTW支持生成標

準的C語言代碼,并且具備了生成其他語言代碼的能力。整個代碼的生成、編譯以及相應的

目標下載過程都是自動完成的,用戶需要做得僅僅使用鼠標點擊幾個按鈕即可。MathWorks

公司針對不同的實時或非實時操作系統(tǒng)平臺,開發(fā)了相應的目標選項,配合不同的軟硬件系

統(tǒng),可以完成快速控制原型(RapidControlPrototype)開發(fā)、硬件在回路的實時仿真

(Hardwarc-in-Loop)、產(chǎn)品代碼生成等工作。

另外,MATLAB開放性的可擴充體系允許用戶開發(fā)自定義的系統(tǒng)目標,利用Real-Time

WorkshopEmbeddedCoder能夠直接將Simulink的模型轉(zhuǎn)變成效率優(yōu)化的產(chǎn)品級代碼。代碼不

僅可以是浮點的,還可以是定點的。

MATLAB開放的產(chǎn)品體系使MATLAB成為了諸多領(lǐng)域的開發(fā)首選軟件,并且,MATLAB

還具有300余家第三方合作伙伴,分布在科學計算、機械動力、化工、計算機通訊、汽車、

金融等領(lǐng)域。接口方式包括了聯(lián)合建模、數(shù)據(jù)共享、開發(fā)流程銜接等等。

MATLAB結(jié)合第三方軟硬件產(chǎn)品組成了在不同領(lǐng)域內(nèi)的完整解決方案,實現(xiàn)了從算法開

發(fā)到實時仿真再到代碼生成與最終產(chǎn)品實現(xiàn)的完整過程。

1.3.3MATALB在化學化工中的應用

隨著MATLAB的應用普及范圍越來越廣,國外專家學者的化工專著中也越來越多的以

MATLAB為計算平臺,代替FORTRAN。下面就是近年來出版化工類專著中采用MATLAB軟

件作為計算平臺的代表。信息來自MathWorks公司官方網(wǎng)站。

(1)數(shù)值計算

▲AlkisConstantinides,navidMostoufi.NumericalMethodsforChemicalEngineeringwith

MATLABApplications.PrenticeHall,1999

入MichaelB.Cutlip&MordechaiShacham.ProblemSolvinginChemicalEngineeringwith

NumericalMethods,PrenticeHall,l999

(2)化工過程動態(tài)模擬和控制

入W.FredRamirez.ComputationalMethodsforProcessSimulation.

Butterworth-Heinemann,1997

入ColemanBrosilow,BahuJoseph.TechniquesofModel-BasedControl.PrenticeHall,2002

人FrancisJ.Doyle111,EdwardP.Gatzke.ProcessControlModules:ASoftwareLaboratory

forControlsDesign.PrenticeHall,2000

人DaleE.Seborg,ThomasF.Edgar&DuncanA.Mellichamp.ProcessDynamicsandControl,

2e.JohnWiley&Sons,Inc.,2004

人PaoC.Chau.ProcessControl:AFirstCoursewithMATLAB.CambridgeUniversityPress,

2002

(3)化工熱力學

人HunKim,Moon-GapKim,Hak-YoungLee,Young-GuYeo&Sung-WooHam.

ThermodynamicsinChemicalEngineeringUsingMATLAB.A-JinPublishingCo.,Ltd.,

2002

(4)傳遞過程與單元操作

入JamesO.Wilkes.FluidMechanicsforChemicalEngineers.PrenticeHall,1999

▲WilliamJ.Thomson.IntroductiontoTransportPhenomena.PrenticeHall,2000

入JaimeBenitez.PrinciplesandModernApplicationsofMassTransferOperations.JohnWiley

&Sons,Inc.,2002

(5)化學反應工程

人Fo^erHS.ElementsofChemicalReactionEngineering.3e,PrenticeHall,1999

人AmoLowe.ChemischeReaktionstechnikmitMATLABundSimulink(ChemicalReaction

TechniqueswithMATLABandSimulink).Wiley-VCHVerlagGmbH,2001

(6)吸附平衡和吸附動力學

人DuongD.Do.AdsorptionAnalysis:EquilibriaandKinetics.ImperialCollegePress,1998

(7)化學計量學

入RichardG.Brereton.Chemometrics:DataAnalysisfortheLaboratoryandChemicalPlant.

JohnWiley&Sons,Inc.,2003

▲Foo-timChau,Yi-zengLiang,JunbinGao&Xue-guangShao.Chemometrics:FromBasics

toWaveletTransform.JohnWiley&Sons,Inc.,2004

第二章MATLAB基礎(chǔ)

2.1MATLAB的圖形窗口界面

MATLAB的啟動可以單擊桌面的圖標"MATLAB7.0”或者從開始菜單的"MATLAB7.0”

程序組的"MATLAB7.0”快捷方式啟動MATLAB,啟動完成后MATLAB的桌面平臺如下圖

所示。它包括菜單欄、工具欄、命令窗口、當前目錄瀏覽器、工作空間瀏覽器、命令歷史窗

口和發(fā)射臺窗口。

菜單欄|________

工具欄

CurrentDirectoy(當前日錄)瀏覽器

Workspace(工作空間)瀏覽器

Commandwindow(命令)窗口

(1)命令窗口如圖2-2所示。其中">>”為運算提示符,表示MATLAB正處在準備狀

態(tài)。當在提示符后輸入一段運算式并按“回車(Enter)”鍵后,MATLAB將給出計算結(jié)果,

然后再次進入準備狀態(tài)。

(2)歷史命令窗口如圖2-3所示。在默認設(shè)置下,歷史窗口會保留自安裝起所有命令

的歷史紀錄,并表明使用時間,這方便了使用者的查詢。而且雙擊某一行命令,即在命令窗

口中執(zhí)行命令。

(3)當前目錄窗口如圖2-4所示,在該窗口中可顯示或改變當前目錄,另外還可以顯

示當前目錄下的文件并提供搜索功能。

(4)工作空間窗口如圖2-5所示,它是MATLAB的重要組成部分。在該窗口中將顯示

所有目前內(nèi)存中的MATLAB變量的變量名、數(shù)學結(jié)構(gòu)、字節(jié)數(shù)以及類型。并且可以創(chuàng)建或

刪除變量以及給變量賦值。其功能還包括將變量數(shù)據(jù)保存為".mat”文件,以及圖形化顯示

某個變量的所有列的數(shù)據(jù)。圖2-6為數(shù)組編輯器(ArrayEditor)窗口

(5)發(fā)射臺窗口的部分命令如圖2-7所示,這是自MATLAB6.0版本之后才有的功能,

用來說明MathWorks公司產(chǎn)品的工具包、演示、幫助系統(tǒng)以及Web信息瀏覽鏈接。

圖2-2命令窗口

CommandHistory二口X

FileEditDebugDesktopWindowHelp

2/b4

2/b.

2\b

b=l/a

2/,a

2./a

antoine

x0=[7:0.25:1]'

x0=[-l:0.25:ll,;

x0=[-1:0.25:1];

y0=[-0.2209,0.6295,1.1829,1.4950,1.5724,1.4561,1.1834,0.8161,0.3816];

p0=[bbb1];

p3=IsqcurvefitCfunnl,,p0,xO,yO)

p2=polyfit(xO,yO,3)

S%—06-1-4上午10:09—%

x0=[-1:0.25:1];

y0=[-0.2209,0.6295,1.182%1.4950,1.572%1.4561,1.1834,0.8161,0.3816];

x0=[-1:0.25:1]

pO=[l,1,1,1]

p2=polyfit(xO,yO,3)

圖2-3歷史窗口

CurrentDirectory-d:\MATLAB7\work■□X

FileEditViewDebugDesktopWindowHelp?

d:WATLAB7\workv|.-£]?<£>畫0

AllFilesFileTypeLastModified|Description

^antoine.asv\ASVFile2006-1-317:12:36

國antoine.mM-file2006-1-317:12:58主程式

國exfit.mM-file2006-1-317:02:14

國f.mM-file2005-12-3121:38:28

&FBR.mM-file2005-4-410:52:46固定床反應器的溫度和轉(zhuǎn)化率分布

國fibno.mM-file2005-12-3117:23:40M-filefibno.m

國fun.mM-file2005-12-3121:43:06

園funnl.mM-file2006-1-317:21:22

園gseid.mM-file2005-3-710:00:50A-系數(shù)矩陣

國jacobi.mM-file2005-3-79:59:02A-系數(shù)矩陣

園mean.mM-file2005-12-3117:27:00mean.m

~1RKasvASVFile2005-12-516:52:20

務(wù)RK.mM-file2005-12-516:53:10采用Redlich/Kwong方程計算丙烯庠爾,

恒TFR.mM-file2005-3-288:51:20管式反應器的溫度分布

<lmi"I[>

圖2-4當前目錄窗口

伊Workspace_nx

FileEditViewGraphicsDebugDesktopWndowHelp0

福?蹲3昌.SUStack:

NameValueClass

.田J

[1111]double

田P0

[0,40255-1.4879-0.101421.564]double

田P2

X0[-1-0.75-0.5-0.2500.250.50double

田W

[-0,22090.62951.18291.4951double

圖2-5工作空間窗口

?£ArrayEditor-yO□X

圖2-6數(shù)組編輯器窗口

n

rImportWizard

"(MATLABl

心ToolboxestProfiler

l

噫|ShortcutsnGUIDE(GUIBuilder)

舟rNotebook

DesktopToolsl

?WebPlotTools

Heir

豫Preferences...

?Demos

種FindFiles.,.

⑶MATLABCentral(Web)

◎Help

⑶ProductPage(Web)

@Demos

心Start]

圖2-7發(fā)射臺窗口

MATLAB自帶了一個文本編輯器用于編程程序語言,如圖2-8所示,該編輯器除具有一

般文本編輯功能外,還能夠?qū)ψ址恢枚ㄎ?、對MATLAB的編程語法規(guī)則中的關(guān)鍵字等進

行高亮顯示,方便程序的書寫與調(diào)試。同時改編輯器也具備了程序調(diào)試器(Dcbbugcr)的功

能,如設(shè)置斷點,跟蹤程序執(zhí)行步驟等功能一應俱全。

此外,MATLAB提供了非常詳盡和全面的聯(lián)機幫助,如圖2-9所示,它可以稱得上是一

本MATLAB的百科全書??梢酝ㄟ^幫助主題(Contents)、索引(Index)和搜索(Search)

三種方法定位所需查看的幫助內(nèi)容。

3Editor-d:\MATLAB7\workVantoine.m-_□><

FileEditTextCellToolsDebugDesktopWindowHelp、/X

DD?|Xcc昌M口|桓構(gòu)|—stacfc但

i%主甌F

2functionantoine

3-clear

4-clc

5%

6%定義參數(shù):

7%"t:溫度[oC]

8%p:溫度t對應的純液體的飽和蒸汽壓[加nHg]

9%&B,C:要求的參數(shù)

10%

11-globaltp

12%

13%給定數(shù)據(jù)

14%

15-t=[8.8650.076.2220.5960.7885.9216.3156.9580.0026.8967.1391.7826.163.3

16-p=[42.6268.3671.977.28402.4906.0662.4347.1756.2103.64500.71074.698.44

17-_x0=[16-3000230];___________________________________________________________[vl

,則I_______________________工

f.mxfun.mxantoine.mxexfit.mxfunnl.mx

antoineLn1Col1

圖2-8編輯器(Editor)窗口

圖2-9聯(lián)機幫助窗口

2.2用MATLAB做簡單數(shù)學運算

2.2.1如何做簡單運算

MATLAB的簡單運算符有+、-、X、十和八,分別用于加、減、乘、除和乘方運算,

運算次序為:八、X、/、+、-。

例2-1:五只雞和兩只兔,共有幾條腿?

>>chicken=5;

>>rabbit=2;

>>legs=chicken*2+rabbit*4

legs=

18

例2-2:求e-3?cos⑶/sM(0.5)?

>>exp(-3)*cos(3)/asin(0.5)

ans=

-0.0941

例2-3:求2^二?

?2人3

ans=

8

2.2.2獲取工作空間信息

who%顯示變量名稱

whos%顯示變量名稱及其大小格式

dir%顯示所有文件

what%顯示*.m和*.mat文件

clc%清除屏幕

clear%清除變量

clearall%清除所有變量

clearab%清除變量a和b

2.2.3變量名稱限制及特殊符號

1、變量名稱限制

(1)變量名稱小于等于19個字符;

(2)第一個字符不能為數(shù)字;

(3)字符大小寫表示不同意義;

cl23(o)

4cl23(X)

c.123(o)

c-123(X)

2、特殊符號

%注解;

;不顯示執(zhí)行結(jié)果;

K連續(xù)。

2.2.4常見數(shù)學符號

1.abs(x)%取絕對值

2.acos(x)

%cos-1(x)

3.acosh(x)

%coshT(x)

4.angle(x)%復數(shù)的角度

5.asin(x)sin-1(x)

%

6.atan(x)tan-'(x)

%

7.atanh(x)tanhT1^)

%

8.ceil(x)%取最接近且大于原數(shù)的正數(shù)(無條件進

入)

9.floor(x)%取最接近且小于原數(shù)的正數(shù)

lO.round(x)%四舍五入(取至整數(shù)為止)

1l.fix(x)%無條件舍去

12.conj(x)%共輒復數(shù)

13.cosh(x)%cosine,hyperbolic,function

14.exp(x)X

%exponential:e

15.real(x)%取實部,imag(x)取虛部

16.1og(x)%loge(x)=ln(x)

17.1ogl0(x)

%1。&0(?

18.rcm(x,y)%x4-y的余數(shù)

19.sign(x)%取正負號

2O.sin(x)

21.sinh(x)

22.sqrt(x)%五

23.tan(x)

24.tanh(x)

例24:求解ax2+bx+c=0

—b±4b2-4ac

,不,X2=

分析2Q

?a=1;b=2;c=3;

>>xl=(-b+sqrt(bA2-4*a*c))/(2*a)

xl二

-1.0000+1.4l42i

>>x2=(-b-

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論